SQL 获取所有上级的实现方法
说明:
(1)可以做成一个函数,直接调用即可;
(2) M0Org 是数据库存在的表 ,M0OrgPID 为目标表,OrgID为ID字段,PID为上级ID字段
1
2
3
4
5
6
7
8
9
10
11
12
13
|
DECLARE @OrgID NVARCHAR(36)= '00000000-0000-0000-00000002205223459' ;
--获取当前机构的所有上级 放入M0OrgPID
WITH M0OrgPID
AS ( SELECT *, 0 AS lvl
FROM M0Org
WHERE OrgID = @OrgID
UNION ALL
SELECT d.*, lvl + 1
FROM M0OrgPID c
INNER JOIN M0Org d ON c.PID = d.OrgID )
SELECT * FROM M0OrgPID;
|
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:http://blog.csdn.net/u013816709/article/details/61923130