本文主要介绍在Oracle数据库中如何将数据表的列转换为行。
背景说明
在Oracle中使用UNPIVOT实现列转行。语法如下:
SELECT ...
FROM ...
UNPIVOT [INCLUDE|EXCLUDE NULLS]
(unpivot_clause
unpivot_for_clause
unpivot_in_clause )
WHERE ...
解决方案
在Oracle中使用UNPIVOT语法进行列转行的代码示例如下:
SELECT *
FROM pivoted_data
UNPIVOT (
deptsal
FOR saldesc
IN (d10_sal, d20_sal, d30_sal, d40_sal)
);
JOB SALDESC DEPTSAL
---------- ---------- ----------
CLERK D10_SAL 1430
CLERK D20_SAL 2090
CLERK D30_SAL 1045
SALESMAN D30_SAL 6160
PRESIDENT D10_SAL 5500
MANAGER D10_SAL 2695
MANAGER D20_SAL 3272.5
MANAGER D30_SAL 3135
ANALYST D20_SAL 6600
其他操作
在PolarDB O引擎中使用Crosstab函数接口进行列转行操作。
该文章对您有帮助吗?
- 本页导读 (1)
- 背景说明
- 解决方案
- 其他操作