Как получить общее количество часов за три смены в SQL SERVER? - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть три смены, и я хочу общее количество часов с каждой смены, исключая время перерыва, я попытался с помощью запроса ниже, и я получаю правильный вывод для первых двух смен, но когда наступает третья смена, получается неправильный вывод.

SELECT (SUM(CAST(CONVERT(float, DATEADD(minute, DATEDIFF(minute, t.FromTime, t.ToTime), 0), 114)as float)*60*24)-SUM(t1.test) )
            FROM ShiftTimes t RIGHT JOIN(select 
            SUM(CAST(CONVERT(float, DATEADD(minute, DATEDIFF(minute, FromTime, ToTime), 0), 114)as float)*60*24)as test,ShiftId
            FROM StdBreaksInShifts group by ShiftId )t1 ON t.shiftid=t1.shiftid
            WHERE t1.shiftid=3

В таблице указано время смены, подскажите, пожалуйста, как рассчитать ..

enter image description here

...