oracle 横表转纵表
时间: 2023-11-24 12:51:50 浏览: 85
Oracle 数据显示 横表转纵表
以下是Oracle中使用unpivot实现横表转纵表的方法:
假设我们有以下横表:
```sql
SELECT * FROM fruit_sales;
FRUIT | JAN_SALES | FEB_SALES | MAR_SALES
-------|-----------|-----------|----------
Apple | 100 | 200 | 150
Orange | 75 | 50 | 100
```
我们可以使用unpivot将其转换为纵表:
```sql
SELECT fruit_month, sales
FROM fruit_sales
UNPIVOT
(
sales FOR fruit_month IN (JAN_SALES, FEB_SALES, MAR_SALES)
);
FRUIT_MONTH | SALES
------------|------
JAN_SALES | 100
FEB_SALES | 200
MAR_SALES | 150
JAN_SALES | 75
FEB_SALES | 50
MAR_SALES | 100
```
在上面的例子中,我们使用了UNPIVOT函数将JAN_SALES,FEB_SALES和MAR_SALES列转换为fruit_month和sales列。fruit_month列包含原始列的名称,sales列包含原始列的值。
阅读全文