資料庫名稱: SQL Server
資料庫版本: 2012
內容/問題描述:
目前有一TABLE checktime 紀錄刷卡時間
主要欄位有
type 上班下班的區別('I','O')
chktime 紀錄刷卡時間
我想在同一列中同時顯示上班跟下班的打卡時間和時間差
不過在GROUP條件中如果不用Group by type的話,
無法在SELECT做為條件去判斷是上班打卡或下班打卡
可是GROUP的話,又無法做在同一列中
要怎麼以(下方想到的約略寫法)
SELECT check_in,check_out,worktime
FROM (
SELECT
(CASE type WHEN 'I' then MIN(chktime) END) check_in,
(CASE type WHEN 'O' then MAX(chktime) END) check_out
DATEDIF(mi,blablabla,blablabla)
FROM checktime
GROUP BY type,CONVERT(char(10), chktime, 121)
) as chktime
把不同列的checktime在同一列裡顯示上下班打卡時間和時間差呢?