具有子查询支持的PIVOT-IN的替代方法

时间:2012-07-26 11:33:19

标签: oracle oracle11g

根据oracle文档,PIVOT函数不支持“IN”子句中的子查询,但可以在PIVOT XML函数中使用。 E.g。

SELECT *
FROM table_name
PIVOT
(
  SUM(column_name_1)
  FOR [column_name_2] IN (['Output_Column1'],['Output_Column2'])
)
AS aliasName

我需要用子查询替换['Output_Column1'],['Output_Column2']

是否有一些其他函数等同于PIVOT我们可以提供子查询而不是硬编码整个输出列,甚至是PIVOT函数本身?

1 个答案:

答案 0 :(得分:1)

不,必须在分析时知道列数。对于PIVOT XML,没有问题,因为这样的查询只返回一列。