楼主:
JYHuang (夏天到了,冷不起来了说)
2016-06-13 05:27:48数据库名称: 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在同一列里显示上下班打卡时间和时间差呢?