SQL 递归查询问题

    最近做到找出所有的上级或者所有的下级的问题,需要用到递归

找出所有下属员工id

with tab as
(select *from Sys_User where F_Id='{0}'
union all
select b.* from tab a,Sys_User b where a.F_Id=b.SupervisorId)
select * from tab

其中  Sys_User 是一张用户表,F_Id是主键,SupervisorId是他领导者的id

同理可得,如果想找到所有的上级:

with tab as
(select *from Sys_User where F_Id='{0}'
union all
select b.* from tab a,Sys_User b where a.SupervisorId=b.F_Id)
select * from tab

 

posted @ 2017-07-11 14:52  林子……  阅读(229)  评论(0编辑  收藏  举报