Многие ко многим запрос с количеством условий> 0 - PullRequest
0 голосов
/ 17 сентября 2010

У меня есть 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 - это СУБД. Любая помощь очень ценится.

1 Ответ

4 голосов
/ 17 сентября 2010

Я почти уверен, что вам просто нужно заменить foo_count в having на count (l.foo_id).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...