62,046
社区成员
发帖
与我相关
我的任务
分享
select *,(case when 早上<'08:31:00' then 1 else 0 end) as 早上状态,(case when 下午>'18:00:00' then 1 else 0 end) as 下午状态 from
(select HCI_EMP_NO,convert(char(10),a.HCI_CARD_TIME,120) as 日期
,(select top 1 convert(char(10),b.HCI_CARD_TIME,108) from HCI_HQITI b where a.HCI_EMP_NO=b.HCI_EMP_NO and datediff(day,b.HCI_CARD_TIME,convert(char(10),a.HCI_CARD_TIME,120))=0 and datepart(hh,b.HCI_CARD_TIME)<12 order by b.HCI_CARD_TIME) as 早上
,(select top 1 convert(char(10),b.HCI_CARD_TIME,108) from HCI_HQITI b where a.HCI_EMP_NO=b.HCI_EMP_NO and datediff(day,b.HCI_CARD_TIME,convert(char(10),a.HCI_CARD_TIME,120))=0 and datepart(hh,b.HCI_CARD_TIME)>12 order by b.HCI_CARD_TIME desc) as 下午
from HCI_HQITI a group by HCI_EMP_NO,convert(char(10),a.HCI_CARD_TIME,120)
)t
select *,(case when 早上<'08:31:00' then 1 else 0 end) as 早上状态,(case when 下午>'18:00:00' then 1 else 0 end) as 下午状态 from
(select HCI_EMP_NO,convert(char(10),a.HCI_CARD_TIME,120) as 日期
,(select top 1 convert(char(10),b.HCI_CARD_TIME,108) from HCI_HQITI b where a.HCI_EMP_NO=b.HCI_EMP_NO and datediff(day,b.HCI_CARD_TIME,convert(char(10),a.HCI_CARD_TIME,120))=0 order by b.HCI_CARD_TIME) as 早上
,(select top 1 convert(char(10),b.HCI_CARD_TIME,108) from HCI_HQITI b where a.HCI_EMP_NO=b.HCI_EMP_NO and datediff(day,b.HCI_CARD_TIME,convert(char(10),a.HCI_CARD_TIME,120))=0 order by b.HCI_CARD_TIME desc) as 下午
from HCI_HQITI a group by HCI_EMP_NO,convert(char(10),a.HCI_CARD_TIME,120)
)t
create table HCI_HQITI (ID int,HCI_EMP_NO varchar(50),HCI_CARD_TIME datetime)
insert into HCI_HQITI values(1,'Q123','2017-07-24 08:26:36')
insert into HCI_HQITI values(2,'Q123','2017-07-24 09:26:36')
insert into HCI_HQITI values(2,'Q123','2017-07-24 17:26:36')
insert into HCI_HQITI values(2,'Q123','2017-07-24 19:26:36')
--select stuff((select ','+convert(char(10),b.HCI_CARD_TIME,108) from HCI_HQITI as b where b.HCI_EMP_NO=a.HCI_EMP_NO for xml path('')),1,1,'') as 打卡 from HCI_HQITI a group by HCI_EMP_NO,convert(char(10),a.HCI_CARD_TIME,120)
select HCI_EMP_NO,convert(char(10),a.HCI_CARD_TIME,120) as 日期
,(select isnull(min(1),0) from HCI_HQITI b where a.HCI_EMP_NO=b.HCI_EMP_NO and datediff(day,b.HCI_CARD_TIME,convert(char(10),a.HCI_CARD_TIME,120))=0 and convert(char(10),b.HCI_CARD_TIME,108)<'08:30:59') as 早上
,(select isnull(min(1),0) from HCI_HQITI b where a.HCI_EMP_NO=b.HCI_EMP_NO and datediff(day,b.HCI_CARD_TIME,convert(char(10),a.HCI_CARD_TIME,120))=0 and convert(char(10),b.HCI_CARD_TIME,108)>'18:00:00') as 下午
from HCI_HQITI a group by HCI_EMP_NO,convert(char(10),a.HCI_CARD_TIME,120)
drop table HCI_HQITI