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

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

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

  1. empno empname
  2. ----------------
  3. 1 xxx
  4. 2 yyy
  5. 3 zzz
  6. .. ....

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

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

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

h9a6wy2h

h9a6wy2h1#

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

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

相关问题