sql server 查询结果的转置

来源:互联网 发布:js select 不可用 编辑:程序博客网 时间:2024/04/29 14:01

DECLARE @temp TABLE(
 id CHAR(10),
 a CHAR(10),
 b CHAR(10),
 c CHAR(10),
 d CHAR(10)
)

INSERT INTO @temp(id,a,b,c,d)
VALUES('A','11','12','13','14')
INSERT INTO @temp(id,a,b,c,d)
VALUES('B','21','22','23','24')
INSERT INTO @temp(id,a,b,c,d)
VALUES('C','31','32','33','34')
INSERT INTO @temp(id,a,b,c,d)
VALUES('D','41','42','43','44')

--转置前

SELECT * FROM @temp

--转置后

SELECT *
FROM @temp
UNPIVOT(data FOR [NEWID] IN([a],[b],[c],[d])) AS unpvt
PIVOT(MAX(data) FOR [id] IN([A],[B],[C],[D])) AS pvt;