0 голосов
спросил от в категории SQLServer
Во-первых, ваши данные плохие: ни один отдел не имеет более двух сотрудников в этих данных, а некоторые сотрудники, как представляется, получают зарплату от двух отделов, что ... um .. Нечетный.
Если вы предполагаете, что вы имели в виду «более одного» сотрудника в отделе, то это можно сделать очень легко.

Начало группируя сотрудников по отдельности: это тривиально, это просто оператор GROUP BY с предложением HAVING , чтобы ограничить его двумя или более сотрудниками:
GROUP BY DeptNo  HAVING COUNT(EmpId) >= 2
Затем вы можете применить ваша совокупная функция для групп:
SELECT DeptNo, SUM(Sal) AS Total FROM Employees GROUP BY DeptNo  HAVING COUNT(EmpId) >= 2
И это даст вам результат, который вам нужен:
DeptNo  Total 1        6000 2        8000

Пожалуйста, войдите или зарегистрируйтесь чтобы ответить на этот вопрос.

0 голосов
ответил от
Сначала вам нужно получить COUNT сотрудников для каждого отдела. Когда у вас есть эти цифры, вы можете создать запрос SUM для каждого номера отдела.

Категории

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

Связанных вопросов не найдено

...