34,590
社区成员
发帖
与我相关
我的任务
分享
declare @W table ([id] int,[code] nvarchar(20),[mydate] nvarchar(20),[ncode] nvarchar(20),[name] nvarchar(20),[text] nvarchar(40),[flag] int)
Insert into @W
select 70,2008052601,'2008-5-26','wangf','王风','进度准备',1 union all
select 74,2008052601,'2008-5-26','wangt','王同','还可以',2 union all
select 75,2008052601,'2008-5-26','qt','齐天','等等',0 union all
select 76,2008052602,'2005-5-27','sd','孙都','开始',0
Select code,mydate,
max(case when flag =0 then [name] else ''end),
0,
max( case when flag =1 then [name] else '' end),
1,
max(case when flag=2 then [name]else ''end),
2
from @W
group by code,mydate
/*
code mydate
-------------------- -------------------- -------------------- ----------- -------------------- ----------- -------------------- -----------
2008052602 2005-5-27 孙都 0 1 2
2008052601 2008-5-26 齐天 0 王风 1 王同 2
(2 row(s) affected)
*/
select code,mydate,
0 [0],
max(case flag when 0 then ncode else null end) [0_1],
1 [1],
max(case flag when 1 then name else '无' end) [1_1],
2 [2],
max(case flag when 0 then name else '无' end) [2_1]
from tb
group by code,mydate