Получите список сотрудников, в которых 3 или более 3 сотрудника из одного города?
Я использую следующий запрос, чтобы найти название города, имеющего более 3 сотрудников
SELECT M.NAME FROM MasterCity M INNER JOIN Employee E ON E.CityID = M.ID GROUP BY E.CityID HAVING count(E.CityID) >= 3;
Это дает мне следующую ошибку
Column 'MasterCity.Name' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
Что не так.? Заранее спасибо
- SQL Server 2014 - Ошибка в коде
- Получение только первого результата от LEFT JOIN
- Сравнение производительности SQL Server между большим количеством разделов и группой
- mysql count, а затем группа по этому счету
- Как рассчитать проценты в tsql, используя группу по запросу?
- SQL Grouping / Contract Value
- Группировать по дате, игнорируя временную часть
- получить сумму связанных элементов, содержащихся в одной группе, возвращенных при условии
- Как добавить подзапрос к этому курсору?
- Запрос Sql к Группе за днем
- SQL Server: вычислять размер группы и номер группы в одном запросе
- COUNT (*) группы GROUP BY
- Что я могу использовать, кроме Group By?
Вариант №1 –
SELECT MAX(M.Name) AS Name FROM MasterCity M JOIN Employee E ON E.CityID = M.ID GROUP BY E.CityID HAVING COUNT(E.CityID) >= 3;
Вариант № 2 –
SELECT M.Name FROM MasterCity M JOIN Employee E ON E.CityID = M.ID GROUP BY E.CityID, M.Name HAVING COUNT(E.CityID) >= 3;
Попробуй это:
SELECT M.ID, M.Name FROM MasterCity M INNER JOIN Employee E ON E.CityID = M.ID GROUP BY M.ID, M.Name HAVING COUNT(E.CityID) >= 3;