有如下结构:x y y_parent
1 11 1
1 12 1
2 21 2
2 22 2
3 31 3
3 311 31
3 3111 311
4 41 4
4 411 41
5 51 5
5 52 5查询出所有的节点关系,分层显示。
得到如下结果:
-1
--11
--12-2
--21
--22-3
--31
---311
----3111-4
--41
---411-5
--51
--52
1 11 1
1 12 1
2 21 2
2 22 2
3 31 3
3 311 31
3 3111 311
4 41 4
4 411 41
5 51 5
5 52 5查询出所有的节点关系,分层显示。
得到如下结果:
-1
--11
--12-2
--21
--22-3
--31
---311
----3111-4
--41
---411-5
--51
--52
X Y Y_PARENT
---------- ---------- ----------
1 11 1
1 12 1
2 21 2
2 22 2
3 31 3
3 311 31
3 3111 311
4 41 4
4 411 41
5 51 5
5 52 5
11 rows selected
SQL>
SQL> SELECT lpad(y, LEVEL + length(y), '-')
2 FROM (SELECT *
3 FROM t
4 UNION ALL
5 SELECT DISTINCT NULL, y_parent, NULL
6 FROM t
7 WHERE length(to_char(y_parent)) = 1)
8 START WITH y_parent IS NULL
9 CONNECT BY PRIOR y = y_parent;
LPAD(Y,LEVEL+LENGTH(Y),'-')
--------------------------------------------------------------------------------
-4
--41
---411
-3
--31
---311
----3111
-2
--21
--22
-1
--11
--12
-5
--51
--52
16 rows selected
SQL>