我在SQL服务器中使用HierarchyId并且我引用下面的文章来获取所有祖先
https://technet.microsoft.com/en-us/library/bb677212%28v=sql.105%29.aspx
我有以下代码:
DECLARE @last_child HIERARCHYID
select *
FROM dbo.Geography AS g
WHERE @last_child.GetAncestor(1) = 0x58
SELECT @last_child
我在DB中有一个id为0x58的节点,它确实有一个子节点。但是,@last_child由于某种原因不断返回null。我做错了吗?
答案 0 :(得分:0)
确定。我仍然不确定上面的代码有什么问题。但是,我找到了替代方法来查找特定父节点的所有子节点。代码发布如下:
SELECT *
FROM Geography
WHERE GeographyNode.IsDescendantOf(0x58) = 1