解决了吗?代码帮你写完测试了下,没啥问题 SQL> with T AS( 2 SELECT 'A' ID,'-1' PID FROM DUAL UNION ALL 3 SELECT 'B' ID,'A' PID FROM DUAL UNION ALL 4 SELECT 'C' ID,'A' PID FROM DUAL UNION ALL 5 SELECT 'D' ID,'C' PID FROM DUAL UNION ALL 6 SELECT 'E' ID,'C' PID FROM DUAL) 7 SELECT CONNECT_BY_ROOT(ID) ROOT,ID 8 FROM T 9 CONNECT BY PRIOR PID=ID 10 ORDER BY ROOT,LEVEL DESC;R I - - A A B A B B C A C C D A D C D D E A E C E E已选择11行。SQL>
SQL> with T AS(
2 SELECT 'A' ID,'-1' PID FROM DUAL UNION ALL
3 SELECT 'B' ID,'A' PID FROM DUAL UNION ALL
4 SELECT 'C' ID,'A' PID FROM DUAL UNION ALL
5 SELECT 'D' ID,'C' PID FROM DUAL UNION ALL
6 SELECT 'E' ID,'C' PID FROM DUAL)
7 SELECT CONNECT_BY_ROOT(ID) ROOT,ID
8 FROM T
9 CONNECT BY PRIOR PID=ID
10 ORDER BY ROOT,LEVEL DESC;R I
- -
A A
B A
B B
C A
C C
D A
D C
D D
E A
E C
E E已选择11行。SQL>
2、百度
3、官方文档
oracle的东西主要就这3个知识来源