SELECT t.menuid as id, t.menu_name as name,
t.s_m_menuid as pid, LEVEL as treelevel, CONNECT_BY_ISLEAF as isleaf,
t.left_url, t.middle_url, t.image_url, t.external_message_url,
t.automenu, t.menu_sort, t.remark, t.tag,t.ismenu_tag
FROM S_MENU t
start with t.s_m_menuid = '0'
connect by t.s_m_menuid = prior t.menuid
ORDER SIBLINGS BY t.menu_sort
说明:1.在S_MENU表中0代表父节点,start with表示从那一层开始,后面跟表达式.
2.prior表示返回所有符合这种条件的connect by操作结果.
3.order siblings by 的意思就是在兄弟姐妹之间的排序.
本文介绍了一种使用Oracle SQL进行菜单树形结构查询的方法。通过start with和connect by语句实现层级关系的数据检索,并按菜单排序字段进行兄弟节点排序。
133

被折叠的 条评论
为什么被折叠?



