Я хочу подытожить общее количество часов, отработанных за данный двухнедельный период (период оплаты) для сотрудников компании. У меня есть представление, которое вытягивает столбец для уникальных идентификаторов сотрудников [CODE_USER], столбец для уникально идентифицированных типов оплаты (Обычная, Сверхурочная работа, Выходные, Отпуск и т. Д.) [Код], столбец для общего количества отработанных часов [Часы]столбец для каждого дня рабочей недели [Day].
В нынешнем виде в столбце [Hours] показано общее количество часов, отработанных в течение дня для каждого уникального сотрудника (на основе уникального типа оплаты,например, обычные часы или сверхурочные часы).
Мне нужно объединить все рабочие часы за двухнедельный период для каждого сотрудника [CODE_USER], для каждого вида оплаты [CODE] в сводный столбец с именем «Часы»,
Идеальный конечный результат будет выглядеть примерно следующим образом, учитывая, что ID сотрудника работал 80 обычных часов и 20 сверхурочных часов в течение двух недель (E1 равняется обычным часам, E2 равняется сверхурочным часам):
CODE_USER Code Hours
125 E1 80.00
125 E2 20.00
Самым близким, я думаю, что я нашел решение, был бы следующий код, однако он не СУММА часов работал для уникального CODE_USER в течение двухнедельного периода, он перечисляет часы, отработанные для каждого дня в течение двухнедельный период как набор строк для этого сотрудника. Например, следующий код показывает 18 строк для идентификатора сотрудника 125, сотрудник проработал 10 полных 8,00 часовых дней в течение периода времени, отмеченного E1 (обычный), и было 8 раз, когда сотрудник работал сверхурочно часов, отмеченных E2 (сверхурочные).
КОД:
SELECT [CODE_USER],
[Code],
SUM(Hours) AS Hours,
[Day]
FROM [LookUp].[dbo].[Daily_Hours_Worked]
WHERE [Day] >= '20191007' AND [Day] < '20191019'
AND [CODE_USER] LIKE '%125%'
GROUP BY [CODE_USER], [Code], [Hours], [Day]
ORDER BY [CODE_USER], [Day] DESC;
РЕЗУЛЬТАТЫ:
CODE_USER Code Hours Day
125 E1 8.00 2019-10-18 00:00:00.000
125 E2 0.70 2019-10-18 00:00:00.000
125 E1 8.00 2019-10-17 00:00:00.000
125 E2 1.65 2019-10-17 00:00:00.000
125 E1 8.00 2019-10-16 00:00:00.000
125 E2 1.15 2019-10-16 00:00:00.000
125 E1 8.00 2019-10-15 00:00:00.000
125 E2 0.97 2019-10-15 00:00:00.000
125 E1 8.00 2019-10-14 00:00:00.000
125 E2 1.99 2019-10-14 00:00:00.000
125 E1 8.00 2019-10-11 00:00:00.000
125 E2 0.12 2019-10-11 00:00:00.000
125 E1 8.00 2019-10-10 00:00:00.000
125 E2 0.05 2019-10-10 00:00:00.000
125 E1 8.00 2019-10-09 00:00:00.000
125 E2 0.10 2019-10-09 00:00:00.000
125 E1 7.99 2019-10-08 00:00:00.000
125 E1 7.99 2019-10-07 00:00:00.000
Ожидаемые результаты:
Я хочу увидеть сумму E1, E2,и т. д. для входного периода оплаты (2-недельного периода) для каждого уникального идентификатора сотрудника [CODE_USER] в таблице. Конечным результатом должно быть две строки для каждого сотрудника с обычным временем (E1) и сверхурочной работой (E2), в которых Суммы, которые часы сотрудника работали для каждой категории в течение данного периода времени.