解决方案 »

  1.   

    暂时还没想到简单的写法,先试试这个SELECT * FROM
    (select T.*
    from T
    connect by prior Pid=id
    START WITH ID IN
      (SELECT ID FROM
        (select T.*,LEVEL L from T start with pid is null connect by prior id=pid)
      WHERE LEVEL=4))
    start with pid is null connect by prior id=pid
      

  2.   

    1、先获取所有level=4的节点
    2、获取这些节点及其路径上的所有节点
    3、按照树形结构进行查询,显示最终结果
    SELECT * FROM
    (select T.*
    from T
    connect by prior Pid=id
    START WITH ID IN
      (SELECT ID FROM
        (select ID,LEVEL L from T start with pid is null connect by prior id=pid)
      WHERE L=4))
    start with pid is null connect by prior id=pid