SQL 獲取所有上級的實現方法。本站提示廣大學習愛好者:(SQL 獲取所有上級的實現方法)文章只能為提供參考,不一定能成為您想要的結果。以下是SQL 獲取所有上級的實現方法正文
SQL 獲取所有上級的實現方法
說明:
(1)可以做成一個函數,直接調用即可;
(2) M0Org 是數據庫存在的表 ,M0OrgPID 為目標表,OrgID為ID字段,PID為上級ID字段
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;
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!