解决方案 »

  1.   

    反向构建树,不写start,利用connect_by_root可以得到,目前没环境,你先自己写试试看,不行就下周一帮你写下
      

  2.   

    解决了吗?代码帮你写完测试了下,没啥问题
    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>
      

  3.   

    1、论坛
    2、百度
    3、官方文档
    oracle的东西主要就这3个知识来源