小编Bri*_*tle的帖子

转置多个相关列

虽然转置单列非常简单,但我需要转置大量数据,其中需要转置 3 组、10 多个相关列。

create table test
(month int,year int,po1 int,po2 int,ro1 int,ro2 int,mo1 int,mo2 int, mo3 int);

insert into test 
values
(5,2013,100,20,10,1,3,4,5),(4,2014,200,30,20,2,4,5,6),(6,2015,200,80,30,3,5,6,7) ;

select * FROM test;
Run Code Online (Sandbox Code Playgroud)

给出

波1 氧分压 罗1 罗2 莫1 莫3
5 2013年 100 20 10 1 3 4 5
4 2014年 200 30 20 2 4 5 6
6 2015年 200 80 30 3 5 6 7

使用 UNPIVOT 转置

select
  month, year, 
  PO, RO, MO
from ( SELECT * from test) …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server unpivot cross-apply

1
推荐指数
1
解决办法
72
查看次数

标签 统计

cross-apply ×1

sql ×1

sql-server ×1

t-sql ×1

unpivot ×1