Так я боролся с этим в течение последнего часа, так что теперьSQL Server - получить родительские значения от ребенка рекурсивно
Я пишу сценарий для извлечения некоторых данных в хорошем формате для меня использовать в другой процесс, но я не могу понять этот конкретный бит (я не использую SQL Server много)
У меня есть несколько таблиц, которые все задействованы в этом скрипте, которые соединяются вместе, чтобы получить всю информацию. Все эти таблицы только используя поддельные данные и имена, но это показывает структуру многообещающе
tblCategories
cat_id cat_name
1 Trousers
2 Tracksuits
3 Woolen
tblCategoryHierarchy
ch_parentid ch_childid
0 1
1 2
2 3
Я также получил мой стол продукта, который имеет cat_id в его
tblProduct
p_id p_name p_cat_id
1 Red Trouser 3
Итак, я хочу отобразить идентификатор продукта, имя и иерархию всех категорий, связанных с тем, что находится в tblProduct.
Так для этого примера, он будет отображать:
id name cats
1 Red Trouser Trousers > Tracksuits > Woolen
Надеюсь кто-нибудь может дать мне руку здесь! Благодаря
Термин, который вы ищете, является «рекурсивным cte». На этот вопрос ответили сотни раз на SO и всюду в Интернете. Затем, чтобы получить список категорий в одном столбце, вам нужно будет использовать STUFF и FOR XML –
https://stackoverflow.com/questions/tagged/sql-server+recursive-query –