用pivot的简单行列转例子

 

-- ProductID  OrderMonth  SubTotal  

-- 1 5  100.00 

-- 1  6  100.00  

-- 2  5  200.00  

-- 2 6  200.00  

-- 2  7  300.00  

-- 3 5 400.00  

-- 3 5 400.00  

--

set  nocount  on

 

create   table  T1(ProductID  int  ,OrderMonth  int ,SubTotal  int )

insert   into  T1  select   1 , 5 , 100

union   all   select   1 , 6 , 100

union   all   select   2 , 5 , 200

union   all   select   2 , 6 , 200

union   all   select   2 , 7 , 300

union   all   select   3 , 5 , 400

union   all   select   3 , 5 , 400

 

select   *   from  T1

 

select  ProductID , [ 5 ]   [ 五月 ] , [ 6 ]   [ 六月 ] , [ 7 ]   [ 七月 ]   from  T1

pivot

(
sum (SubTotal)

for  OrderMonth  in  ( [ 5 ] , [ 6 ] , [ 7 ] ))  as  p

drop   table  T1

 

 

-- --returns

ProductID   OrderMonth  SubTotal

-- --------- ----------- -----------

1             5             100

1             6             100

2             5             200

2             6             200

2             7             300

3             5             400

3             5             400

 

ProductID   五月         六月         七月

-- --------- ----------- ----------- -----------

1             1             1             0

2             1             1             1

3             2             0             0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值