我有一个表格,其中我有DataID和ParentID列,所以对于一个父根我可以有孩子,那些孩子可以有更多的孩子等等 结构类似
Root
Child1
A
B
Child2
C
D
我可以使用分层查询来收集root及其所有子级,无论级别有多深
答案 0 :(得分:1)
您似乎要求提供一个非常简单的分层查询as described in the documentation,在其examples和其他许多地方展示。
如果您想要问题中显示的输出,那么您可以执行以下操作:
select lpad(' ', level - 1, ' ') || dataid as hierarchy
from your_table
start with parentid is null
connect by prior dataid = parentid;
HIERARCHY
--------------------------------------------------------------------------------
Root
Child1
A
B
Child2
C
D
lpad
使用查询级别将值缩进适当数量的空格。