读书人

联合查询,该怎么解决

发布时间: 2013-06-25 23:45:41 作者: rapoo

联合查询
select WorkID,MIN(atd_datetime)atd_datetime,'上班'type from (
select workid,CONVERT(datetime,atd_datetime)atd_datetime from Attendance
)A
group by WorkID,CONVERT(varchar,atd_datetime,23)
union all
select WorkID,max(atd_datetime)atd_datetime,'下班'type from (
select workid,CONVERT(datetime,atd_datetime)atd_datetime from Attendance
)A
group by WorkID,CONVERT(varchar,atd_datetime,23) order by WorkID,atd_datetime DESC

得出如下结果

atd_datetime Type workid
2012-03-10 08:38:00.000 上班1111
2012-03-09 18:21:00.000 下班1111
2012-03-09 07:56:00.000 上班2222
2012-03-08 22:08:00.000 下班2222
2012-03-08 07:55:00.000 上班 1111
2012-03-06 15:04:00.000 下班1111

还有表Employee
Employee_Name SN
王静 1111
李明柯 2222

如何得出下面结果
atd_datetime Type workid Remark Name
2012-03-10 08:38:00.000 上班1111 迟到 王静
2012-03-09 18:21:00.000 下班1111 正常 王静
2012-03-09 07:56:00.000 上班2222 正常 李明柯
2012-03-08 22:08:00.000 下班2222 正常 李明柯
2012-03-08 07:55:00.000 上班 1111 正常 王静
2012-03-06 15:04:00.000 下班1111 早退 王静
[解决办法]
上班时间8点到5点半?

读书人网 >SQL Server

热点推荐