sql—将列数据转换为行而不使用任何聚合函数

fhity93d  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(362)

我有一张table emp (empno, empname) 这样地:

empno empname
----------------
1      xxx
2      yyy
3      zzz
..    ....

等等。我见过一些查询,但它们使用pivot/unpivot,但如果有聚合函数。我不想使用聚合。
我想把列转换成行。

empno  1    2     3
-----------------------
empnam xxx  yyy   zzz

如何在oracle中使用sql实现这一点?

h9a6wy2h

h9a6wy2h1#

你的选择很有用 PIVOT 显式或使用透视查询,方法如下:

SELECT
    'empnam' AS empno,
    MAX(CASE WHEN empno = 1 THEN empname END) AS "1",
    MAX(CASE WHEN empno = 2 THEN empname END) AS "2",
    MAX(CASE WHEN empno = 3 THEN empname END) AS "3"
FROM yourTable;

相关问题