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;