sqlserver通過遞歸查找所有下級或上級部門和用戶的操作實例


--查找當前用戶所在部門的所有下級包括當前部門
with cte as
(
    select Id,Pid,DeptName, 0 as lvl from Department
    where Id = 2
    union all
    select d.Id,d.Pid,d.DeptName,lvl + 1 from cte c inner join Department d
    on c.Id = d.Pid --id 部門編號,PID 上級部門編號
)
select * from cte
查找當前用戶所在部門的所有上級包括當前部門
with cte as
(
    select Id,Pid,DeptName, 0 as lvl from Department
    where Id = 2
    union all
    select d.Id,d.Pid,d.DeptName,lvl + 1 from cte c inner join Department d
    on c.Pid= d.Id --id 部門編號,PID 上級部門編號
) select * from cte

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM