Mysql 选择IF(查询中的查询)

Mysql 选择IF(查询中的查询),mysql,select,if-statement,Mysql,Select,If Statement,我有一个简单的问题 SELECT AGENT FROM `SALES` WHERE PRICE='3000.00' AND COMDTE > '2014-02-02' AND COMDTE < '2014-03-02' 我的尝试是 SELECT AGENT FROM `SALES` WHERE PRICE='3000.00' AND COMDTE > '2014-02-02' AND COMDTE < '2014-03-02' IF ((SELECT ID FROM `

我有一个简单的问题

SELECT AGENT FROM `SALES` WHERE PRICE='3000.00' AND COMDTE > '2014-02-02' AND COMDTE < '2014-03-02'
我的尝试是

SELECT AGENT FROM `SALES` WHERE PRICE='3000.00' AND COMDTE > '2014-02-02' AND COMDTE < '2014-03-02' IF ((SELECT ID FROM `AGENTS` WHERE RANK = 1 AND ID = AGENT),YES, NO) = YES
你需要一个简单的连接

SELECT s.AGENT
FROM `SALES`  s
JOIN `AGENTS` a ON(s.AGENT =a.id)
WHERE s.PRICE='3000.00' 
AND s.COMDTE > '2014-02-02' 
AND s.COMDTE < '2014-03-02'
AND a.RANK = 1

这是行不通的,您必须创建一个名为view table的新表,它将两个表组合在一起,然后从中检索数据


在这里了解它

我不知道我们是否应该给你+1或-1来发明新的语法…学习连接两个表
SELECT s.AGENT
FROM `SALES`  s
JOIN `AGENTS` a ON(s.AGENT =a.id)
WHERE s.PRICE='3000.00' 
AND s.COMDTE > '2014-02-02' 
AND s.COMDTE < '2014-03-02'
AND a.RANK = 1
SELECT AGENT 
FROM `SALES` 
WHERE PRICE='3000.00' 
AND COMDTE > '2014-02-02' 
AND COMDTE < '2014-03-02' 
AND AGENT IN (SELECT ID FROM `AGENTS` WHERE RANK = 1)