我需要找到當前級別或更低級別上有項目的所有類別,或者有子項目的項目。 類別有CategoryID,ParentCategoryID。 項目有一個CategoryID。遞歸SQL問題
我有大部分的解決方案的使用存儲過程:
AS
WITH get_cat_hier
AS
(
Select e.CategoryID, e.ParentCategoryID, From Categories AS e
where e.ParentCategoryId = @ParentCategoryId
union ALL
Select e.CategoryID, e.ParentCategoryID, From Categories e
inner join get_cat_hier AS ecte on ecte.CategoryID = e.ParentCategoryID
)
select DISTINCT e.CategoryID from Categories as e
inner join items as item on (item.CategoryID = e.CategoryID) -- *******Problem*****
where
(e.CategoryID in (select CategoryID FROM get_cat_hier AS CategoryID)
)
不幸的是,這僅返回項目的類別,而不是用類的子類的項目。我需要以某種方式用遞歸調用替換「item.CategoryID = e.CategoryID
」。
突出顯示您的代碼,然後單擊「{}」按鈕 – 2011-02-12 00:38:06
感謝您的格式幫助!它看起來好多了。 – 2011-02-13 00:19:05