帮我写出oracle 行转列 列转行 示例代码
时间: 2023-10-17 11:25:29 浏览: 121
当你需要将行转列或者列转行时,你可以使用Oracle的PIVOT和UNPIVOT函数。下面是两个示例代码:
1. 行转列:
```
SELECT *
FROM (
SELECT column1, column2
FROM your_table
)
PIVOT (
MAX(column2)
FOR column1 IN ('Value1', 'Value2', 'Value3')
);
```
在上面的代码中,你需要将 `'Value1'`, `'Value2'`, `'Value3'` 替换为你实际的列值。这个查询会将 `column1` 的值作为新的列名,`column2` 的值作为对应新列的值。
2. 列转行:
```
SELECT *
FROM (
SELECT *
FROM your_table
)
UNPIVOT (
column_value
FOR column_name IN (column2, column3, column4)
);
```
在上面的代码中,你需要将 `column2`, `column3`, `column4` 替换为你实际的列名。这个查询会将指定的列转换为行,其中 `column_name` 列包含原始列的名称,`column_value` 列包含原始列的值。
请记住,在使用这些代码之前,你需要将 `your_table` 替换为你实际的表名,并根据你的数据结构和需求进行相应的调整。
阅读全文
相关推荐










