【发布时间】:2018-07-25 22:14:02
【问题描述】:
我已经检查过这样的相同场景,但不幸的是仍然没有得到它:(,我尝试了一些代码但仍然无法工作
- 动态将行转换为字段(字段取决于行数,行数取决于类型)
表格
TYPE |ATTR_NAME | ATTR_VALUE
**sample flat rate |Activity | N
**sample flat rate |code | PLAN_999
**sample flat rate |codes object | object
**sample low rate |Activity | Y
**sample low rate |code | PLAN_1299
**sample low rate |codes object | charge
**sample low rate |indicator | 0
代码:
declare
sqlqry VARCHAR2(4001);
cols VARCHAR2(4001);
begin
select listagg('''' || ATTR_NAME || ''' as "' || ATTR_NAME || '"', ',') within group (order by ATTR_NAME)
into cols
from (select distinct ATTR_NAME from temp_2);
sqlqry :=
'select * from
(
select *
from temp_2
)
pivot
(
MIN(ATTR_VALUE) for ATTR_NAME in (' || cols || ')
)'
;
【问题讨论】:
-
也许this 有用
-
@Aleksej .. 谢谢 .. 我成功执行了 PL/SQL 但在执行结果变量 x ref cursor exec dynamic_pivot(:x) print x; 时出错
-
请发布您尝试过的内容和遇到的错误;这将帮助人们更好地理解问题并给你一个很好的答案
-
抱歉 :) 绑定变量“X”未声明
-
但是在做什么?...您发布的内容中没有 X :)