我在oracle中找到了一个关于动态旋转的article。那里的解决方案看起来不错,但是当我从该站点尝试以下示例时,我收到ORA-00940错误。
select *
from table( pivot(' select deptno
, job
, avg(sal) sal_avg
from emp
group
by deptno
, job
')
);
查询会导致以下错误:
FEHLER in Zeile 2:
ORA-00904: "PIVOT": ung³ltiger Bezeichner
我找到了很多其他网站,链接到文章,但没有任何地方认为查询不起作用。只有少数博客说他们没有证明这一点。 那么,为某人工作这些方法,可能几乎没有什么修改?
查询应该得到与以下非动态sql相同的结果:
select deptno, clerk, salesman,
manager, analyst, president
from (select deptno, job, sal
from scott.emp )
pivot( avg(sal) for job in
( 'CLERK' as clerk,
'SALESMAN' as salesman,
'MANAGER' as manager,
'ANALYST' as analyst,
'PRESIDENT' as president ) )
order by deptno;
预期结果如下:
DEPTNO CLERK SALESMAN MANAGER ANALYST PRESIDENT
---------- ---------- ---------- ---------- ---------- ----------
10 1300 2450 5000
20 950 2975 3000
30 950 1400 2850