Как найти родителя, используя тип данных иерархии - PullRequest
1 голос
/ 22 апреля 2010

Этот код не работает, когда я пытаюсь найти один родительский узел

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

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

Как бы вы нашли родителя?

1 Ответ

6 голосов
/ 22 апреля 2010

Предполагая, что имя поля, содержащего идентификатор иерархии, "hid", вы можете сделать следующее:

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