как рассчитать часы - PullRequest
       3

как рассчитать часы

0 голосов
/ 28 августа 2018

Я использую SQL Server 2017. Я рассчитываю часы (обычные часы и сверхурочные часы), и я получаю все часы в столбце регулярных часов, и если обычные часы превышают 40, они должны переходить в сверхурочные часы. .. что запрос здесь я могу использовать например .... в таблице у меня есть empid, name, reghou ,othour. Я получил файл от моего клиента с различными столбцами (например, имя, часы и т. д.) в Excel. когда я получаю этот файл Excel, все часы попадают в столбец часов. так что, если я получу 42,83 часа, я хочу разделить его на 40 на обычные часы и на 2,83 на другое. таблица должна выглядеть следующим образом

пожалуйста, проверьте изображение, чтобы узнать, как я хочу записи как

1 Ответ

0 голосов
/ 29 августа 2018
DECLARE @EmployeeTimeSheet TABLE(EmployeeID INT, WorkedHours DECIMAL(18,2))
INSERT INTO @EmployeeTimeSheet
VALUES(1,8),
(1,8),
(1,8.5),
(2,8),
(2,8),
(1,8),
(3,8),
(1,8.5),
(2,8),
(3,8.5),
(1,8),
(1,8)

SELECT CASE WHEN SUM(WorkedHours) > 40 THEN 40 ELSE SUM(WorkedHours) END as Regular, 
CASE WHEN SUM(WorkedHours) > 40 THEN (SUM(WorkedHours) -40) ELSE 0 END as OverTime 
FROM @EmployeeTimeSheet
GROUP BY EmployeeID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...