Я борюсь с проблемой сортировки.
У меня есть таблица, которая выглядит следующим образом:
aspect_id (int)
aspect_text (memo)
root_id (int) which has as a foreign key a aspect_id
У меня есть нециклическое дерево со следующими фиктивными данными:
aspect_id aspect_text root_id
1 root null
2 aspect1 1
3 aspect2 1
4 aspect3 2
5 aspect5 4
В примере данные отсортированы правильно, в моей базе данных их нет. Я хочу отсортировать, что он начинается с корневого элемента, затем находит потомка, выводит этого потомка и делает это рекурсивно
С CTE это вполне выполнимо. Доступ не поддерживает это. С CTE это было бы что-то вроде:
WITH aspectTree (aspect_id, root_id, Level#) AS
(
Select
aspect.aspect_id,
aspect.root_id,
0
FROM aspect
WHERE aspect.aspect_id = 44
UNION ALL
SELECT
aspect.aspect_id,
aspect.root_id,
T.Level# + 1
FROM aspect
INNER JOIN aspectTree AS T
On T.aspect_id = aspect.root_id
)
SELECT * FROM aspectTree;
Кто-нибудь может мне помочь?