我遇到了困難的時間。我已經看到了一些關於如何從給定父母的自引用表中獲取所有子記錄以及如何獲取子記錄父母的例子。選擇所有層次結構級別及以下SQL Server
我想要做的是返回一個記錄和給定ID的所有子記錄。
將此放入上下文中 - 我有一個公司層次結構。其中:
#Role Level#
--------------------
Corporate 0
Region 1
District 2
Rep 3
我需要的是:(1)計算出的記錄是什麼樣的水平;(2)檢索記錄和所有的孩子記錄的過程。
作爲一個地區的想法可以看到一個地區的所有地區和代表,區可以看到他們的代表。代表只能看到自己。
我有表:
ID ParentId Name
-------------------------------------------------------
1 Null Corporate HQ
2 1 South Region
3 1 North Region
4 1 East Region
5 1 West Region
6 3 Chicago District
7 3 Milwaukee District
8 3 Minneapolis District
9 6 Gold Coast Dealer
10 6 Blue Island Dealer
如何我這樣做:
CREATE PROCEDURE GetPositions
@id int
AS
BEGIN
--What is the most efficient way to do this--
END
GO
例如,對於@id = 3預期的結果,我希望回到:
3, 6, 7, 8, 9, 10
我很感激任何幫助或想法。
預期結果會是什麼? –
我更新了問題以顯示預期結果。 – JDBennett