2015-06-21 2 views
0

У меня есть иерархия в таблицах вроде этого.Получить последний дочерний элемент из 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/(второй ребенок/последний ребенок); Если это элемент, он должен вернуть третьего ребенка/последнего ребенка.

Я пробовал этот запрос. Но он возвращает мне только первую часть.

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

ли вы на самом деле хранения данных слэш разделены, как '/ 1/1 /'? (Или это saparate столбцы?) – jarlh

+0

Его HierarchyID тип данных на SQL Server 2008; Он хранится так же, как это. –

+1

Я вижу. Спасибо за ответ! (Я не очень хорошо знаю SQL Server ...) – jarlh

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^