У меня есть 2 таблицы, сначала содержит данные документов, а вторая - для каталогов.SQL Server CTE - рекурсия
Таблица 1
DocID DirID Name Order
----- ----- ---- -----
1 4 Doc1 2
2 1 Doc2 1
3 5 Doc3 1
4 3 Doc4 1
5 4 Doc5 1
Таблица 2
DirID ParentID Name
----- -------- ----
1 NULL root
2 1 Dir1
3 2 Dir2
4 1 Dir3
5 3 Dir4
Структура
root
-Dir1
-Dir2
-Dir4
-Doc3
-Doc4
-Dir3
-Doc5
-Doc1
-Doc2
Я пытаюсь создать КТР в T-SQL, который будет генерировать этот результат, но я не может понять, как это сделать. Может ли кто-нибудь предложить решение?
Doc2
Dir3/Doc5
Dir3/Doc1
Dir1/Dir2/Doc4
Dir1/Dir2/Dir4/Doc3
Root не отображается, документы сортируются по Order
в его каталоге и результат сортируются с низкой глубины заказанной по имени полного пути.
показать вам, запрос, что ты пробовал? – Fabio
Примечание. Имя столбца 'order' - это [зарезервированное слово] (https://msdn.microsoft.com/en-us/library/ms189822.aspx), с синтаксисом – xQbert
. Я считаю, что ваш вывод неверен для ** Doc4 ** : 'Dir1/Dir2/Doc4'. Это должно быть 'Dir1/Doc4' за каждую логику. – FutbolFan