【发布时间】:2017-08-25 12:14:01
【问题描述】:
我试图在 4 列中显示 ename,即 MANAGER、SALESMAN、ANALYST、CLERK 在 oracle 11g 中的 SCOTT 模式中,其中只有经理的姓名才能获得显示在第 1 列,推销员在第 2 列,依此类推。
到目前为止,我已经这样做了:
select *
from (select job,
ename
from emp)
pivot (listagg(ename,',') within group(order by ename)
for job in ('MANAGER','CLERK','ANALYST','SALESMAN'))
这给了我想要的结果,但我想要不同的行而不是单个列的值中的多个值
任何人都可以帮助我在 PIVOT 的新列中显示列名,因为它只显示聚合函数,这些函数通常返回我想要多行的单行。
非常感谢。
【问题讨论】:
-
尝试删除listagg函数
-
@l3rutt 而我应该使用什么来代替?你看 pivot 期望在那个位置有一个聚合函数。
标签: sql database oracle11g pivot pivot-table