日期:2014-05-17  浏览次数:20859 次

1个人在项目上,凌晨2点问题搞不定,求救! !(分不够了,新注册的帐号!)
本帖最后由 loveyou10 于 2013-03-10 02:25:08 编辑
公司安排搞1个考勤机项目,项目虽小,麻雀虽小,技术难啊!
现请教1个分析考勤数据问题,下面是测试数据代码.


DECLARE @record TABLE (
 [emp] [varchar](20) NULL,--员工
 [wdate] [varchar](20) NULL,--上午上班
 [wtime] [varchar](20) NULL,--上午下班
 [bz] [varchar](50) NULL--上午下班
 
 ) 
INSERT INTO @record
select 'emp1','2013-02-18','07:45:09',''
 union
 select 'emp1','2013-02-18','11:37:33',''
 union
 select 'emp1','2013-02-18','11:38:33','员工不小心重复刷卡'
 union
select 'emp1','2013-02-18','11:48:42',''
 union
select 'emp1','2013-02-18','16:51:23',''
 union
select 'emp1','2013-02-18','17:01:50',''
 union
select 'emp1','2013-02-18','20:02:21',''
--------------------------
union
select 'emp2','2013-02-18','19:45:09',''
 union
 select 'emp2','2013-02-18','23:40:33',''
 union
 select 'emp2','2013-02-18','23:42:33','员工不小心重复刷卡' 
 union
select 'emp2','2013-02-18','23:59:42',''
 union
select 'emp2','2013-02-19','05:51:23','连班到了第二天,但记在18号'
 union
select 'emp2','2013-02-19','05:52:50','连班到了第二天,但记在18号'
 union
select 'emp2','2013-02-19','07:02:21','连班到了第二天,但记在18号'
--------------------------
union
select 'emp3','2013-02-18','07:45:09',''
 union
 select 'emp3','2013-02-18','11:29:33',''
 union
 select 'emp3','2013-02-18','11:28:33','员工不小心重复刷卡' 
 union
select 'emp3','2013-02-18','11:59:42',''
 union
select 'emp3','2013-02-18','17:51:23',''
 union
select 'emp3','2013-02-18','17:52:50','员工不小心重复刷卡'
 union
select 'emp3','2013-02-18','17:53:21','员工不小心重复刷卡'
--------------------------
union
select 'emp4','2013-02-19','19:45:09',''
 union
 select 'emp4','2013-02-19','23:40:33',''
 union
 select 'emp4','2013-02-19','23:42:33','员工不小心重复刷卡' 
 union
select 'emp4','2013-02-19','23:59:42',''
 union
select 'emp4','2013-02-20','05:51:23','连班到了第二天,但记在19号'
 union
select 'emp4','2013-02-20','05:52:50','连班到了第二天,但记在19号'
 union
select 'emp4','2013-02-20','08:02:21','连班到了第二天,但记在19号'

 
 DECLARE @WorkDetail TABLE (
 [wkid] [varchar](20) NULL,--班次
 [ss] [varchar](8) NULL,--上午上班
 [sx] [varchar](8) NULL,--上午下班
 [xs] [varchar](8) NULL,--下午上班
 [xx] [varchar](8) NULL,--下午下班
 [ws] [varchar](8) NULL,--晚上上班
 [wx] [varchar](8) NULL,--晚上下班
 [bz] [varchar](50) NULL--晚上下班
 
 ) 
 
 INSERT INTO @WorkDetail
 select '1加班白班','08:00','11:30','12:00','16:50','18:00','20:00',''
 union
 select '2加班晚班','20:00','23:30','00:00','05:30','06:00','08:00','备注:晚上8点上班到第二天8点'
 union
 select '3白班','08:00','11:30','12:00','17:30','','',''
 union
 select '4晚班','20:00','23:30','00:00','05:30','06:00','07:00','备注:晚上8点上班到第二天7点'
 union
 select '5质检班','09:00','11:00','13:00','17:00','18:30','19:30',''
 
 select * from @WorkDetail
 select * from @Record order&nb