где результат подсчета запросов> 0 - PullRequest
1 голос
/ 24 февраля 2010

Мне нужно сделать запрос, подобный этому:

SELECT wposts.ID FROM posts wposts WHERE ( SELECT COUNT(ID) FROM surveys WHERE POST_ID = wposts.ID) > 0

а нужно ли работать?

Ответы [ 2 ]

1 голос
/ 24 февраля 2010

Следующий SQL работает быстро, если внешний ключ surveys.POST_ID проиндексирован.

SELECT wposts.ID FROM posts wposts
    INNER JOIN surveys ON surveys.POST_ID = wposts.ID
GROUP BY wposts.ID
1 голос
/ 24 февраля 2010

Выбор возвращает по умолчанию «набор», который не совместим с целым числом. Вы можете сделать что-то вроде:

ВЫБРАТЬ wposts.ID ОТ сообщений wposts, ГДЕ НЕ ВХОДИТ (ВЫБЕРИТЕ COUNT (ID) ИЗ ОПРОСОВ, ГДЕ POST_ID = wposts.ID)

...