2017-03-08 36 views
-2

假設我有這樣的我怎麼能recursivily基於與LINQ查詢或SQL parentId的串聯親值

ID PARENTID標題

1空美國

2 1德州

3數據2 Dallas

我希望通過LINQ/EF或SQL查詢得到類似結果

ID名稱

1美國

2美國/得克薩斯州

3美國/得克薩斯州/達拉斯

+0

什麼是你的問題?你只說你想要什麼,而不是你卡在哪裏。 –

+0

其實我沒有卡住任何地方,我只需要下面的查詢,我不知道從這個查詢開始。 –

回答

0
WITH H AS 
(
    -- Anchor: the first level of the hierarchy 
    SELECT id, ParentID, Title, CAST(Title AS NVARCHAR(300)) AS path 
    FROM TestTABLE 
    WHERE parentid IS NULL  
UNION ALL 
    -- Recursive: join the original table to the anchor, and combine data from both 
    SELECT T.id, T.ParentID, T.Title, CAST(H.path + '\' + T.Title AS NVARCHAR(300)) 
    FROM TestTABLE T INNER JOIN H ON T.ParentID = H.id 
) 

SELECT * FROM H 
+0

完美,如果任何人可以用Linq做到這一點 –