我一直在阅读 PIVOT 和 UNPIVOT,但无法正确格式化结果以呈现数据。这是我的源表:
StepID | ShortDesc | Type_1 | ar1 | ar2
1 ShortDesc1 10 11.11 11.01
2 ShortDesc2 20 22.22 22.02
3 ShortDesc3 30 33.33 33.03
4 ShortDesc4 40 44.44 44.04
5 ShortDesc5 50 55.55 55.05
这是我试图达到的结果:
| Step1 | Step2 | Step3 | Step4 | Step5
ShortDesc1 ShortDesc2 ShortDesc3 ShortDesc4 ShortDesc5
10 20 30 40 50
11.11 22.22 33.33 44.44 55.55
11.01 22.02 33.03 44.04 55.05
这是我尝试过的最新方法,当然没有用:
DROP TABLE ProductionTest
CREATE TABLE ProductionTest (StepID int, ShortDesc nvarchar(25), Type_1 int, ar1 real, ar2 real)
INSERT INTO ProductionTest VALUES (1, 'Short Desc 1', 10, 11.11, 11.01)
INSERT INTO ProductionTest VALUES (2, 'Short Desc 2', 20, 22.22, 22.02)
INSERT INTO ProductionTest VALUES (3, 'Short Desc 3', 30, 33.33, 33.03)
INSERT INTO ProductionTest VALUES (4, 'Short Desc 4', 40, 44.44, 44.04)
INSERT INTO ProductionTest VALUES (5, 'Short Desc 5', 50, 55.55, 55.05)
SELECT * FROM ProductionTest
SELECT [1]as Step1, [2] as Step2, [3]as Step3, [4]as Step4, [5]as Step5
FROM ( SELECT [StepID], ShortDesc, Type_1, ar1, ar2
FROM ProductionTest) p
PIVOT (MAX(ShortDesc)
FOR StepID IN ([1], [2], [3], [4], [5])
) AS pvt
谢谢你的帮助!