根据oracle文档,PIVOT函数不支持" IN"子句中的子查询,但可以在PIVOTXML函数中使用.例如
SELECT *
FROM table_name
PIVOT
(
SUM(column_name_1)
FOR [column_name_2] IN (['Output_Column1'],['Output_Column2'])
)
AS aliasName
Run Code Online (Sandbox Code Playgroud)
我需要替换['Output_Column1'],['Output_Column2']with子查询.
是否有一些其他功能相当于PIVOT我们可以提供子查询而不是硬编码整个输出列甚至是PIVOT函数本身?
不,在解析时必须知道列数。对于 PIVOT XML 来说没有问题,因为此类查询仅返回一列。