У меня есть 3 таблицы:
- Письма
- Foo
- EmailFoos (таблица присоединения многих ко многим)
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 - это СУБД. Любая помощь очень ценится.