Я хочу сгенерировать отчет, который суммирует общее количество рабочих часов для каждого сотрудника.
Ниже приведен мой SQL-запрос
SELECT WO_MaidName
,Maid_Name AS WO_selectMaidName
,Appointment_Duration
,Duration_Hours AS Appointment_selectDuration
FROM Appointments A
LEFT JOIN Maid
ON Maid_ID = WO_MaidName
LEFT JOIN Duration
ON Duration_ID = Appointment_Duration
WHERE DATEPART(m, Appointment_DateTime) = DATEPART(m, DATEADD(m, -1, getdate()))
AND DATEPART(yyyy, Appointment_DateTime) = DATEPART(yyyy, DATEADD(m, -1, getdate()))
AND (A.IsDelete = 0
OR A.IsDelete IS NULL
)
ORDER BY Appointment_ID DESC
Вывод следующий, который отображает только рабочие часыбез добавления этих двух значений
Как SUM
Duration_Hours
, когда это LEFT JOIN
другой таблицы базы данных, так что отчет будетперечислить общее количество рабочих часов для каждого сотрудника?
Отредактировано: я пробовал этот запрос, но сообщаю мне следующее:
'Колонка' Maid.Maid_Name 'недопустима в списке выборасписок, потому что он не содержится ни в статистической функции, ни в предложении GROUP BY. '
SELECT WO_MaidName
,Maid_Name AS WO_selectMaidName
,Appointment_Duration
,SUM(Duration_Hours) AS Appointment_selectDuration
FROM Appointments A
LEFT JOIN Maid
ON Maid_ID = WO_MaidName
LEFT JOIN Duration
ON Duration_ID = Appointment_Duration
WHERE DATEPART(m, Appointment_DateTime) = DATEPART(m, DATEADD(m, -1, getdate()))
AND DATEPART(yyyy, Appointment_DateTime) = DATEPART(yyyy, DATEADD(m, -1, getdate()))
AND (A.IsDelete = 0
OR A.IsDelete IS NULL
)
GROUP BY WO_MaidName
ORDER BY Appointment_ID DESC
Как решить эту проблему?