ツリー状の構造化データを表すアイテムのテーブルがあり、NULL の parent_id でマークされた最上位ノードに到達するまで、継続的に上向きにトレースしたいとします。MS SQL CTE (共通テーブル式) はどのようになりますか?
たとえば、 Benderからトップに到達するためのパスを取得する場合、次のようになります。
コメディ
フューチュラマ
ベンダー
ありがとうございます。サンプル データは次のとおりです。
DECLARE @t Table(id int, description varchar(50), parent_id int)
INSERT INTO @T
SELECT 1, 'Comedy', null UNION
SELECT 2, 'Futurama', 1 UNION
SELECT 3, 'Dr. Zoidberg', 2 UNION
SELECT 4, 'Bender', 2 UNION
SELECT 5, 'Stand-up', 1 UNION
SELECT 6, 'Unfunny', 5 UNION
SELECT 7, 'Dane Cook', 6