2
我嘗試使用數據類型hierarchyid
構建菜單。使用SQL Server hierarchyid列出菜單層次結構
我有根節點和當前選定的節點。現在我想列出所有與相關的wetween根節點和所選節點以及那裏的兄弟節點相關的元素。
我得到的所有相關元素與下面的SQL查詢
DECLARE @rootNode hierarchyid, @selectedNode hierarchyid
SELECT @rootNode = MenuNode FROM CMS_Menu WHERE MenuItemID = 3;
SELECT @selectedNode = MenuNode FROM CMS_Menu WHERE MenuItemID =15;
SELECT CMS_Menu.MenuNode
FROM CMS_Menu
WHERE @selectedNode.IsDescendantOf(MenuNode) = 1 /*all related elements*/
AND MenuNode.GetLevel() >= @rootNode.GetLevel() /*nothing below root*/
現在我必須這樣做MenuNode.GetAncestor(1)
=導致在上面的查詢每一行。
有沒有人有一個想法如何在SQL查詢中得到這個?
感謝:)
謝謝你,湯姆!這正是我所期待的。 –