oracle 將表格中某個欄位的數據轉為行數據
在Oracle中,可以使用UNPIVOT操作將表格中的某個欄位數據轉換為行數據。
假設有以下表格:
CREATE TABLE mytable (
id NUMBER,
col1 NUMBER,
col2 NUMBER,
col3 NUMBER
);
表格數據如下:
INSERT INTO mytable (id, col1, col2, col3)
VALUES (1, 10, 20, 30);
INSERT INTO mytable (id, col1, col2, col3)
VALUES (2, 40, 50, 60);
要將col1、col2和col3的數據轉換為行數據,可以使用UNPIVOT操作:
SELECT id, col_name, col_value
FROM mytable
UNPIVOT (
col_value FOR col_name IN (col1, col2, col3)
);
輸出結果如下:
ID COL_NAME COL_VALUE
-- -------- ---------
1 COL1 10
1 COL2 20
1 COL3 30
2 COL1 40
2 COL2 50
2 COL3 60
這樣就將表格中的某個欄位數據轉換為了行數據。
原文地址: http://www.cveoy.top/t/topic/i55M 著作权归作者所有。请勿转载和采集!