在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、属性和值。