从sql hierarchyid获取最后一个子节点

时间:2015-06-21 09:37:51

标签: sql sql-server-2008 hierarchyid

我的表中有hierarchyid就像这样。

/1/ - This is Category 
/1/1/ - This is SubCategory
/1/1/1/ - This is Item
/1/1/2/ - Item
/1/1/3/ - Item
/1/2/ - SubCategory
/1/2/1/ - Item
/1/2/2/ - Item
/1/2/3 - Item

我希望得到最后一个孩子,无论使用SQL查询的Category,Subcategory还是Items。 对于Eg。如果是它的类别,它将返回/ 1 /;如果它是子类别它应该返回/ 1 /或/ 2 /(第二个孩子/最后一个孩子);如果它是项目,它应该返回第3个孩子/最后一个孩子。

我尝试了这个查询。但是,它只是让我回到第一部分。

SELECT PricedItemHID.GetAncestor(PricedItemHID.GetLevel() -1) FROM ItemsList

1 个答案:

答案 0 :(得分:2)

您可以使用以下内容:

Select @MaxChild = Max(OrgNode) from HumanResources.EmployeeDemo

此链接可以为您提供帮助[http://blogs.msdn.com/b/manisblog/archive/2007/08/28/sql-server-2008-hierarchyid-part-ii.aspx][1]