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

前端之家收集整理的这篇文章主要介绍了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

猜你在找的MsSQL相关文章