これでは苦労しています。私は、親を与えられた自己参照表からすべての子レコードを取得する方法と、子レコードの親を取得する方法まで、いくつかの例を見てきました。すべての階層レベルを選択してください。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
私はこれをどのように行うのです。たとえば、@id = 3の予想結果を
CREATE PROCEDURE GetPositions
@id int
AS
BEGIN
--What is the most efficient way to do this--
END
GO
を、私は返すようにしたいでしょう:
3, 6, 7, 8, 9, 10
私はこれに関する助けやアイデアをありがとうと思います。あなたは再帰CTEを経由してこれを行うことができます
期待される結果は何でしょうか? –
私は期待される結果を示すために質問を更新しました。 – JDBennett