我有3张桌子:
Foo可以完成与否。
我需要找到一组电子邮件,其中已完成的foos的数量> 0(反之,但我可能会这样做;)
我尝试过类似的事情:
SELECT e.id, e.address, count(l.foo_id) as foo_count
FROM emails e
LEFT JOIN (
SELECT l.foo_id, l.email_id
FROM foo_emails l
JOIN foos f ON (l.foo_id = f.id AND f.status = 'complete')) l ON
(l.email_id = e.id)
GROUP BY e.id
HAVING foo_count > 0;
但它一直告诉我foo_count不存在。我的SQL_FU很弱。 Postgress是DBMS。非常感谢任何帮助。
答案 0 :(得分:4)
我很确定你只需要将having
中的foo_count替换为count(l.foo_id)。