在Oracle connect by SQL查询中将sys_connect_by_path的输出拆分为列
我有一个Oracle SQL查询,它使用Oracle的在Oracle connect by SQL查询中将sys_connect_by_path的输出拆分为列,sql,oracle,oracle11g,oracle10g,Sql,Oracle,Oracle11g,Oracle10g,我有一个Oracle SQL查询,它使用Oracle的connectby子句返回以下输出 Level Path 1 A 2 A -> B 3 A -> B -> C 4 A -> B -> C -> D 查询将级别和路径(使用sys\u connect\u by\u path和'->'作为分隔符)作为两列返回 是否可以使路径中的每个项都位于其自己的列中?例如,在上面的输出中,我知道最多有4个级别/列。如何生
connectby
子句返回以下输出
Level Path
1 A
2 A -> B
3 A -> B -> C
4 A -> B -> C -> D
查询将级别和路径(使用sys\u connect\u by\u path
和'->
'作为分隔符)作为两列返回
是否可以使路径中的每个项都位于其自己的列中?例如,在上面的输出中,我知道最多有4个级别/列。如何生成如下所示的输出:
Level Value1 Value2 Value3 Value4
1 A
2 A B
3 A B C
4 A B C D
我不必使用sys\u connect\u by\u path,因此如果可以在不使用sys\u connect\u by\u path的情况下将值放入列中,请让我知道
提前感谢在Oracle 11g中引入运算符
PIVOT
可以编写将行旋转为列的交叉表格查询这似乎很有效: