为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

红颜莎娜 2018-12-07 11:30:29
有这样一张表, 名字          日期               任务下发   任务完成 张三    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 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

行转列 pivot

查看完整回答
反对 回复 2019-01-07
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

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

查看完整回答
反对 回复 2019-01-07
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

最近也遇到这个问题 先前是用sql xml 的一个转换方法来解决的

后来同事用了一个左连接也轻松解决了  改天贴代码你额

查看完整回答
反对 回复 2019-01-07
?
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)

 

多给点分啊

查看完整回答
反对 回复 2019-01-07
  • 7 回答
  • 0 关注
  • 504 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信