Как получить разницу между двумя датами в одном столбце в SQL Server

AJ Moquete спросил: 03 февраля 2018 в 10:53 в: sql-server

Как я могу получить разницу во времени двух одинаковых дат в одном столбце? И что, если в один и тот же день есть несколько входов / выходов?

Таблица tbl_Employee_MasterList:

id  First_Name       Last_Name    biometric_no
----------------------------------------------
125 ABRAHAM JOSEPH   MOQUETE           78

Таблица officer_timelogs

employee_id      record_time             Day      type
--------------------------------------------------------
125         2018-02-27 18:03:31.000    Tuesday     1
125         2018-02-27 07:54:03.000    Tuesday     0

SQL-запрос:

select 
    a.employee_id, a.record_time, 
    --CONVERT(char(10), a.record_time, 103) as [Date],
    DATENAME(WEEKDAY, a.record_time) as [Day],
    a.[type],
    case 
       when a.[type] = 0
          then 'in'
       when a.[type] = 1
          then 'out'
    end as Status
from
    officer_timelogs a
left join 
    tbl_Employee_MasterList b on a.employee_id = b.biometric_no
where 
    a.employee_id = '125'
order by 
    a.record_time desc

Выход:

employee_id record_time               Day       type    Status
---------------------------------------------------------------
     125    2018-02-28 07:47:23.000 Wednesday   0        in
     125    2018-02-27 18:03:31.000 Tuesday     1        out
     125    2018-02-27 07:54:03.000 Tuesday     0        in
     125    2018-02-26 18:01:59.000 Monday      1        out
     125    2018-02-26 07:48:25.000 Monday      0        in
     125    2018-02-24 12:50:00.000 Saturday    1        out
     125    2018-02-24 07:44:16.000 Saturday    0        in
     125    2018-02-23 17:02:06.000 Friday      1        out
     125    2018-02-23 07:48:26.000 Friday      0        in
     125    2018-02-22 18:02:35.000 Thursday    1        out
     125    2018-02-22 07:48:41.000 Thursday    0        in

Желаемый output (я хочу получить данные, подобные этому):

employee_id    Date         Day       Hours
-----------------------------------------------------
   125         2018-02-27   Tuesday   10:09:28 (h:m:s) 

Я использую SQL Server 2012.

0 ответов