oracle查询父子节点,oracle 父子节点 查询
oracle 父子节点 查询1)从父节点到所有子节点SELECT t.ID id,RPAD( '- ', 8*(LEVEL-1), ' -' ) || l.MEANING name,t.MENU_BAR_ID menuBraId,t.PARENT_ID parentId,t.DISPLAY_ORDER displayOrder,CONNECT_BY_ROOT NAME ROOT,CONNECT..
oracle 父子节点 查询
1)从父节点到所有子节点
SELECT t.ID id,
RPAD( '- ', 8*(LEVEL-1), ' -' ) || l.MEANING name,
t.MENU_BAR_ID menuBraId,
t.PARENT_ID parentId,
t.DISPLAY_ORDER displayOrder,
CONNECT_BY_ROOT NAME ROOT,
CONNECT_BY_ISLEAF ISLEAF,
LEVEL,
SYS_CONNECT_BY_PATH(NAME, '
FROM MENU_ITEM t, LANGUAGEPACKAGE l
where t.TITLE_ID=l.ID and l.LANGUAGE='en_US'
START WITH t.ID='1' or t.ID='2' or t.ID='3' or t.ID='4' or t.ID='5'
CONNECT BY PRIOR t.ID=t.PARENT_ID
查询menu_ITEM下id是1,2,3,4,5下的所有节点。节点关系是: menu_ITEM对应的PARENT_ID是menu_ITEM的id。
1)从子节点到所有该子节点上的所有父节点
SELECT t.ID id,
RPAD( '- ', 8*(LEVEL-1), ' -' ) || l.MEANING name,
t.MENU_BAR_ID menuBraId,
t.PARENT_ID parentId,
t.DISPLAY_ORDER displayOrder,
CONNECT_BY_ROOT NAME ROOT,
CONNECT_BY_ISLEAF ISLEAF,
LEVEL,
SYS_CONNECT_BY_PATH(NAME, '
FROM MENU_ITEM t, LANGUAGEPACKAGE l
where t.TITLE_ID=l.ID and l.LANGUAGE='en_US'
START WITH t.ID='141'
CONNECT BY PRIOR t.PARENT_ID=t.ID
查询menu_ITEM下id是141的所有父节点。
上面两段脚本的区别在于:
第一个: CONNECT BY PRIOR t.ID=t.PARENT_ID
第二个: CONNECT BY PRIOR t.PARENT_ID=t.ID
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)