通过START WITH 和CONNECT BY PRIOR遍历上级父节点(上级目录)

来源:互联网 发布:java 多用户商城 编辑:程序博客网 时间:2024/05/16 16:11

向上遍历父节点

SELECT *
FROM (SELECT *
      FROM m_comn_project_emp t1
      WHERE t1.project_id = 'Project1') t2
START WITH t2.child_id = 'D'
CONNECT BY PRIOR t2.parent_id = t2.child_id

向上遍历子节点

SELECT *
FROM   (SELECT *
        FROM   m_comn_project_emp t1
        WHERE  t1.project_id = 'Project1') t2
START  WITH t2.child_id = 'B'
CONNECT BY PRIOR t2.child_id = t2.parent_id

 向上遍历父节点不包含头节点

SELECT t2.member_id AS member_id
FROM   (SELECT *
        FROM   m_comn_project_emp t1
        WHERE  t1.project_id = :projectid) t2
WHERE  LEVEL > 1
START  WITH t2.member_id = :memberid
CONNECT BY PRIOR t2.manager_id = t2.member_id

 向上遍历子节点不包含头节点

SELECT t2.member_id AS  member_id
FROM   (SELECT *
        FROM   m_comn_project_emp t1
        WHERE  t1.project_id = :projectid) t2
WHERE  LEVEL > 1
START  WITH t2.member_id = :memberid
CONNECT BY PRIOR t2.member_id = t2.manager_id
原创粉丝点击