在Oracle中,可以使用PIVOT函数将多行数据转换为多列数据。以下是一个示例:
假设有一个名为sales的表,包含以下数据:
region | product | sales_amount |
---|---|---|
North | A | 100 |
North | B | 200 |
North | C | 150 |
South | A | 120 |
South | B | 250 |
South | C | 180 |
要将上述数据转换为多列,可以使用以下SQL查询:
SELECT *
FROM (
SELECT region, product, sales_amount
FROM sales
)
PIVOT (
SUM(sales_amount)
FOR product IN ('A' AS A, 'B' AS B, 'C' AS C)
)
ORDER BY region;
执行以上查询将得到以下输出:
REGION | A | B | C |
---|---|---|---|
North | 100 | 200 | 150 |
South | 120 | 250 | 180 |
这样就将原始的多行数据转换为了多列数据。