AYR*_*AYR 0 sql oracle transpose
我在sql中有一个表,该表具有许多列,每列具有相同类型的数据。我想将表的列转置为行,以便所有数据都出现在1列中。我正在讨论的表类型的示例:
ID DATE TEST_1 TEST_2 TEST_3
----------------------------------------
1 1jan12 98 66 77
2 2jan12 75 89 72
Run Code Online (Sandbox Code Playgroud)
进入:
ID DATE TEST SCORE
-----------------------------------
1 1jan12 TEST_1 98
1 1jan12 TEST_2 66
1 1jan12 TEST_3 77
2 2jan12 TEST_1 75
2 2jan12 TEST_2 89
2 2jan12 TEST_3 72
Run Code Online (Sandbox Code Playgroud)
预先感谢您的任何建议或指示!
一种选择是使用“全部联盟”:
SELECT ID, DATE, 'TEST_1' AS TEST, TEST_1 AS SCORE
FROM TABLE
UNION ALL
SELECT ID, DATE, 'TEST_2' AS TEST, TEST_2 AS SCORE
FROM TABLE
UNION ALL
SELECT ID, DATE, 'TEST_3' AS TEST, TEST_3 AS SCORE
FROM TABLE
Run Code Online (Sandbox Code Playgroud)