获取当前用户的所有上级【SQL-所有上级】

Q:如何获取当前用户的上级、上级的上级、上级的上级的上级............

A:具体您可以参考以下说明:
在oracle下,使用start with  connect by prior即可
  1. select * from t_user start with id = '11e1-7f98-dc0c84d6-a04d-05b43c063ac2' connect by prior id = superior
复制代码
----------------------------------------------------------------------------
在sqlserver下,只能使用存储过程完成,大致代码见下:
  1. with cte as
  2. (
  3.     select *, 0 as lvl from t_user
  4.     where Id = '11e0-4b86-4e2e6951-a06c-ade030ea555d'
  5.     union all
  6.     select d.*,lvl + 1 from cte c inner join t_user d
  7.     on c.Id = d.superior
  8. )
  9. select * from cte
复制代码
----------------------------------------------------------------------------
在最新版本的mysql下,只能使用存储过程以及递归完成,大致可以参考以下链接:
http://blog.youkuaiyun.com/ACMAIN_CHM/article/details/4142971

ps:Myapps打包出去的绿色版的版本是5.1.37,还不支持以上的解决方案

----------------------------------------------------------------------------

如果希望通过使用脚本的方式来获取可以参考下帖:
http://www.teemlink.com/bbs/viewthread.php?tid=166074
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值