在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

這樣就將表格中的某個欄位數據轉換為了行數據。

oracle 將表格中某個欄位的數據轉為行數據

原文地址: http://www.cveoy.top/t/topic/i55M 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录