在Oracle數據庫中,可以使用UNPIVOT操作將列轉換為行。以下是一個示例:
假設有以下表格t1:
ID | Name | Age | City |
---|---|---|---|
1 | Tom | 25 | Paris |
2 | Jane | 30 | Tokyo |
3 | Alex | 35 | London |
要將列轉換為行,可以使用UNPIVOT操作,如下所示:
SELECT *
FROM t1
UNPIVOT (Value FOR Attribute IN (Name, Age, City))
運行上述查詢后,將得到以下結果:
ID | Attribute | Value |
---|---|---|
1 | Name | Tom |
1 | Age | 25 |
1 | City | Paris |
2 | Name | Jane |
2 | Age | 30 |
2 | City | Tokyo |
3 | Name | Alex |
3 | Age | 35 |
3 | City | London |
通過UNPIVOT操作,每個原始行被轉換為多個行,每個行包含了原始行的ID、屬性和值。