sql – 具有子查询的Oracle PIVOT子句的示例

Oracle的 definition of the PIVOT clause规定了可以在IN子句中定义一个查询.这是我想象的一个虚构的例子
... PIVOT (AVG(salary) FOR (company) IN (SELECT disTINCT company FROM companies))

不过,我得到一个ORA-00936:缺少表达式错误.不幸的是,这个新的PIVOT条款的错误通常是相当隐秘的.任何人都可以给我一个很好的例子,说明如何在PIVOT子句的IN子句中使用子查询

解决方法

显然,我太懒了,没有阅读到文档的末尾…进一步下来,文档规定:

subquery A subquery is used only in conjunction with the XML keyword. When you specify a subquery,all values found by the subquery are used for pivoting. […]

这将工作

PIVOT XML (AVG(salary) FOR (company) IN (SELECT disTINCT company FROM companies))

查看完整的文档

http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_10002.htm#CHDFAFIE

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...