我根本不是 sql 高手,但为什么这个查询会返回错误?
SELECT username FROM history as h
WHERE username IS NOT NULL AND updated>1342555201 AND updated<1342641599
AND WHERE (SELECT status FROM managers WHERE username=h.username) > 0
如何使用包含状态的第二个表上的子查询在一个查询中将状态>0 的用户名分组?
最佳答案
尝试
SELECT h.username FROM history h
INNER JOIN status s USING(username)
WHERE h.updated BETWEEN 1342555201 AND 1342641599
GROUP BY h.username
HAVING s.status > 0
注意:
INNER JOIN
将始终检索 NOT NULL 和用户名的普通值我假设两个表都有相同的列名。如果两个表有不同的列名则更改
USING(username)
withON h.column_name = s.column_name
关于mysql - MySQL WHERE子句中的子查询使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11540493/