如何使用hierarchyid数据类型查找父级

时间:2010-04-22 14:56:11

标签: c# sql-server-2008 hierarchical-data

当我尝试查找单个父节点时,此代码不起作用

declare @val hierarchyid
select @val = dbo.GetHierarchyIDbyID(30)

--get the parent
select * from NodeHierarchy
where @val.GetAncestor(NodeHierarchyID) = 1

你会如何寻找父母?

1 个答案:

答案 0 :(得分:6)

假设包含层次结构ID的字段名称为“hid”,您可以执行以下操作:

DECLARE @val HIERARCHYID  
SELECT @val = dbo.GetHierarchyIDbyID(30)  
SELECT * FROM NodeHierarchy WHERE hid = @val.GetAncestor(1)