有这样一张表,
名字 日期 任务下发 任务完成
张三 2012-09-01 20 15
李四 2012-09-02 30 20
张三 2012-09-02 30 19
李四 2012-09-03 30 28
我想让他变成这样
2012-09-01发 2012-09-01完成 2012-09-02发 2012-09-02完成
张三 20 15 30 19
李四 0 0 30 20
2012-09-03 我就不写了 求高手写个完整的sql语句!
7 回答
DIEA
TA贡献1820条经验 获得超2个赞
select *
into #temp_aa
from(
select 名字 as Name,日期+'发' as rq,任务下发 as num
from A
union all
select 名字 as Name,日期+'完成' as rq,任务完成 as num
from A
) b
declare @aa nvarchar(2000)
set @aa=' select Name, '
select @aa = @aa + ' sum( case rq when '''+rq+''' then num else null end ) as '''+rq+''' ,'
from (select distinct rq from #temp_aa) a
select @aa = left(@aa,len(@aa)-1) + ' from #temp_aa group by Name '
exec(@aa)
多给点分啊
- 7 回答
- 0 关注
- 504 浏览
添加回答
举报
0/150
提交
取消