27,579
社区成员
发帖
与我相关
我的任务
分享
SELECT [日期],员工姓名,员工工号,[上班],[下班]
,CASE WHEN[上班]='未打卡'THEN'未打卡'
WHEN[上班]>[日期]+' 08:30:00'THEN '迟到'
ELSE''
END[是否迟到]
,CASE WHEN[下班]='未打卡'THEN'未打卡'
WHEN[下班]<[日期]+' 18:00:00'THEN '早退'
ELSE''
END[是否迟到]
FROM(
SELECT CONVERT(VARCHAR(10),刷卡时间,120)[日期],员工姓名,员工工号
,ISNULL(CONVERT(VARCHAR(50),MIN(CASE WHEN 刷卡时间
BETWEEN CONVERT(VARCHAR(10),刷卡时间,120)+' 07:00:00'
AND CONVERT(VARCHAR(10),刷卡时间,120)+' 12:00:00'
THEN 刷卡时间 END),120),'未打卡')[上班]
,ISNULL(CONVERT(VARCHAR(50),MAX(CASE WHEN
刷卡时间>=CONVERT(VARCHAR(10),刷卡时间,120)+' 16:00:00'
THEN 刷卡时间 END),120),'未打卡')[下班]
FROM #TB
GROUP BY CONVERT(VARCHAR(10),刷卡时间,120),员工姓名,员工工号
)T