2015-06-21 36 views
0

我在我的表中有这样的hierarchyid。从sql 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查询类别,子类别或项目。例如: 如果它的类别,它会返回/ 1 /;如果它是子类别它应该返回/ 1 /或/ 2 /(第二个孩子/最后一个孩子);如果是Item,它应该返回第3个孩子/最后一个孩子。

我试过这个查询。但是,它只是返回我的第一部分。

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

你真的存储数据斜线分开,如 '/ 1/1 /'? (或者它是否分解了列?) – jarlh

+0

SQL Server 2008上的HierarchyID数据类型;它像这样存储。 –

+1

我明白了。谢谢回答! (我不太了解SQL Server ......) – jarlh

回答