SQL-сервер Агрегат (количество) может не отображаться в WHERE - PullRequest
0 голосов
/ 14 мая 2018

В моем запросе я получаю следующее сообщение об ошибке:

Агрегат может не отображаться в предложении WHERE, если он не входит в подзапрос, содержащийся в предложении HAVING или списке выбора, а агрегируемый столбец является внешней ссылкой.

Мой запрос следующий:

SELECT f.ID as IdFlight
From Flights as f 
inner join BookingsFlightsPassenger as b on f.ID = b.ID_flight
WHERE count(b.ID_Flight)<100

Как я могу решить это? Я не уверен, что предлагает сообщение об ошибке

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

Самый эффективный способ написания этого запроса не использует join:

SELECT bfp.ID_flight as as IdFlight
FROM BookingsFlightsPassenger bfp
GROUP BY bfp.ID_flight
WHERE count(*) < 100;
0 голосов
/ 14 мая 2018

заменить "где" на "имея" и добавить группу на

SELECT f.ID as IdFlight
From Flights as f inner join BookingsFlightsPassenger as b on f.ID = b.ID_flight
group by f.id
having count(b.ID_Flight)<100
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...