这是Transpose one row into many rows Oracle
的后续问题我希望能够解开任意查询结果。
要手动取消移动表格,我会这样做:
select value_type, value from (
(
-- query to be unpivoted
-- EG: select col1, col2, col3, col4, col5 from table
)
unpivot
(
-- Line I would like to change
value for value_type in (col1, col2, col3, col4, col5)
)
);
这适用于所有返回5列的查询,名为col1, col2
,等等。我放入的是value for value_type in (col1, col2, col3, col4, col5)
而不是{{1}},它将从查询/视图/表中获取所有列名称是在第一部分中选择的?
答案 0 :(得分:2)
您可以通过动态创建SQL语句作为字符串创建存储过程来在PL / SQL中执行此操作,然后使用execute immediate
执行它并返回游标。