使用oracle的start with... connect by prior根据子节点,找到从子节点到根目录所有路径

来源:互联网 发布:linux修改用户目录 编辑:程序博客网 时间:2024/04/30 09:05

场景: 项目中海关编码目录表以树的方式存储,而且该表只包含一棵树,需要找到某个子节点到根目录的所有路径和某个根节点下的所有子节点路径。

解决:根据子节点,找到从子节点到根目录所有路径

select ID,
       PARENT_ID,
       GMT_CREATE,
       CREATOR,
       GMT_MODIFIED,
       MODIFIER,
       NAME,
       DISPLAY_ORDER
  from mst_catalog_tbl
 start with ID = '5'
connect by prior PARENT_ID = ID

 

 

根据根目录,找到从根目录到其所有子节点的路径:

select ID,
       PARENT_ID,
       GMT_CREATE,
       CREATOR,
       GMT_MODIFIED,
       MODIFIER,
       NAME,
       DISPLAY_ORDER
  from mst_catalog_tbl
 start with ID = '5'
connect by prior  ID = PARENT_ID

原创粉丝点击