select id ,考勤号码 ,name ,dep ,ISNULL([KQ].[cktime],'') as cktime ,ISNULL([KQ].[cktimet],'') as cktimet ,convert(varchar(20),date,120) as date ,convert(varchar(40),Checkin,120) as Checkin ,convert(varchar(40),CheckOut,120) as CheckOut from kq union all select null as id ,考勤号码 ,name ,null as dep ,null as cktime ,null as cktimet ,convert(varchar(7),date,120)+'月' as date ,'月汇总' as Checkin ,convert(varchar(20),count(考勤号码)) as CheckOut from kq group by 考勤号码,name,convert(varchar(7),date,120) order by name,date
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
注释:默认地,UNION 操作符选取不同的值,即UNION是去了重的。如果允许重复的值,请使用 UNION ALL。
--查询当天: select * from info where DateDiff(dd,datetime,getdate())=0
--查询24小时内: select * from info where DateDiff(hh,datetime,getdate())<=0