获取当前用户的所有上级【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.csdn.net/ACMAIN_CHM/article/details/4142971

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

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

如果希望通过使用脚本的方式来获取可以参考下帖:
http://www.teemlink.com/bbs/viewthread.php?tid=166074
发布了160 篇原创文章 · 获赞 3 · 访问量 8万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章