我尝试使用 datatype 构建菜单hierarchyid
。
我有根节点和当前选定的节点。现在我想列出所有与wetween root和选定节点以及兄弟姐妹相关的元素。
我通过以下 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)
现在我必须对上面查询中的每一行执行类似= result 的操作。
有谁知道如何在 sql 查询中得到这个?
谢谢 : )