首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

联合查询,该怎么解决

2013-06-25 
联合查询select WorkID,MIN(atd_datetime)atd_datetime,上班type from (select workid,CONVERT(datetime

联合查询
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点半?

热点排行