记录一次整理菜单路径(展示所有父级菜单)查询

需求:

将菜单的路径,由本级目录到最大父级目录展示出来。

eg:平台运维

        --------运行情况

        ----------------运行日志

展示:运行日志-运行情况-平台维护

 

思路:

根据本级菜单ID递归查询父级菜单

 

实现:

SQL:

select substr(t.memuname,2) as menupath from(

select rownum as id,sys_connect_by_path(memuname,'-') as name from menu_info

start with id = 本级目录ID connect by prior parent_id = id order by id desc) t

where rownum = 1)

SQL解析:

1.内层查询,根据本级ID递归查询父级的名称,并转换为行拼接展示 (sys_connect_by_path(memuname,'-') as name)

2.外层查询,根据rownum特性只拿第一条,因为内层查询做了排序,最全路径在第一条。

3.外层查询,通过substr截取函数,把路径前面多余的-去掉

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值