SQL行转列(pivot)



IF object_id('tempdb..#temp_pivot') is not null
    drop table #temp_pivot
go

select *  into #temp_pivot from (
select '2018-12-01' as CreateTime,10 as NUM 
union
select '2018-12-01' as CreateTime,20 as NUM 
union
select '2018-12-02' as CreateTime,20 as NUM 
union
select '2018-12-03' as CreateTime,30 as NUM 
union
select '2018-12-04' as CreateTime,40 as NUM 
union
select '2018-12-05' as CreateTime,50 as NUM ) as T

go
declare @sql varchar(8000)

select @sql= isnull(@sql+ '],[' , '') + CreateTime  from #temp_pivot group by CreateTime order by CreateTime asc

set @sql='['+@sql+']'

set  @sql=replace(@sql,'[],','')


exec ('select * from #temp_pivot  pivot(sum(NUM) for CreateTime in ('+@sql+'))  TBL')

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值