日期:2014-05-18  浏览次数:20498 次

關於這樣的 語句怎麽寫謝謝 尋找SQL 高手
我的   一張表記錄是打卡記錄如
時間                                                 工號(字符型的)         進出
2007-04-27   00:01:00.000           03216         OUT
2007-04-27   00:01:00.000 07138         OUT
2007-04-27   00:02:00.000 06198         OUT
2007-04-27   00:02:00.000 06267         OUT
2007-04-27   00:03:00.000 05001         OUT
2007-04-27   00:04:00.000 05189         OUT
2007-04-27   00:04:00.000 06321         OUT
2007-04-27   00:05:00.000 01242         OUT
2007-04-27   00:05:00.000 03294         OUT
2007-04-27   00:05:00.000 04092         OUT
2007-04-27   00:05:00.000 05060         OUT(OUT代表下班)
2007-04-27   16:05:00.000 06254         in(in代表上班)
等   等
我現在要抓   所有人上下班從27號到5月5號的   時間
格式這樣的  

工號                                                         27日                                           28日   29日     30日

06462(上班)2007-04-27   00:05:00(下班)2007-04-27   16:05:00   。。。。。。
請問怎麽實現??????????/急求




------解决方案--------------------
Create table TestID ([time] datetime,ID nvarchar(50),Flag nvarchar(20))
insert into testid
select '2007-04-27 00:01:00.000 ', 03216 , 'OUT '
union select
'2007-04-27 00:01:00.000 ', 07138 , 'OUT '
union select
'2007-04-27 00:02:00.000 ' ,06198 , 'OUT '
union select
'2007-04-27 00:02:00.000 ', 06267 , 'OUT '
union select
'2007-04-27 00:03:00.000 ' ,05001 , 'OUT '
union select
'2007-04-27 00:04:00.000 ', 05189 , 'OUT '
union select
'2007-04-27 00:04:00.000 ', 06321 , 'OUT '
union select
'2007-04-27 00:05:00.000 ' ,01242 , 'OUT '
union select
'2007-04-27 00:05:00.000 ', 03294 , 'OUT '
union select
'2007-04-27 00:05:00.000 ' ,04092 , 'OUT '
union select
'2007-04-27 00:05:00.000 ', 05060 , 'OUT '
union select
'2007-04-27 16:05:00.000 ', 06254 , 'in '


select ID,max((CASE WHEN FLAG= 'in 'THEN [time] END ) )AS EndDate,max((CASE WHEN FLAG= 'OUT 'THEN [time] END )) AS EndDate from TestID
group by ID

------解决方案--------------------
Create table TestID ([time] datetime,ID nvarchar(50),Flag nvarchar(20))
insert into testid
select '2007-04-27 00:01:00.000 ', '03216 ', 'OUT '
union select '2007-04-27 00:01:00.000 ', '07138 ', 'OUT '
union select '2007-04-27 00:02:00.000 ', '06198 ', 'OUT '
union select '2007-04-27 00:02:00.000 ', '06267 ', &#