求一个 sql2005语句!高手请进!问题解决再追加分数!

有这样一张表,

名字          日期               任务下发   任务完成

张三    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语句!

红颜莎娜
浏览 505回答 7
7回答

喵喵时光机

行转列 pivot

天涯尽头无女友

嗯  我用过 行转列  但是效果是这样的 

慕哥9229398

最近也遇到这个问题 先前是用sql xml 的一个转换方法来解决的 后来同事用了一个左连接也轻松解决了  改天贴代码你额

DIEA

select *into #temp_aafrom( 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)   多给点分啊
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server