У меня есть следующие две таблицы, которые представляют иерархию вложенных папок
Таблица «Папка» содержит основную информацию c Информация о папке
+----+--------------+
| id | name |
+----+--------------+
| 1 | Top |
| 2 | Science |
| 3 | Astronomy |
| 5 | Astrophysics |
| 6 | Cosmology |
+----+--------------+
Таблица «Папка_дерево» содержит структуру иерархии, используя идентификаторы папок и путь к столбцу типа LTREE.
+----+--------+---------+
| id | folder | path |
+----+--------+---------+
| 32 | 1 | 1 |
| 33 | 2 | 1.2 |
| 36 | 3 | 1.2.3 |
| 37 | 4 | 1.2.3.4 |
| 38 | 5 | 1.2.3.5 |
+----+--------+---------+
Я ищу, чтобы проверить, существует ли точная структура папки, когда дан массив структуры, например, как проверить ['Top', ' Наука »,« Астрономия »,« Астрофизика »] в таком порядке.
Я полагаю, что рекурсивный запрос может сработать, когда он сначала смотрит на папку root« Верх », а затем спускается к Астрофизике, подтверждая, что каждая папка существует по пути.
Может ли это быть достигнуто с помощью рекурсивного запроса? Или похожие?
Я понимаю, что путь к папке folder_tree может содержать имена полностью, например, Top.Science.et c, но в этом случае имена папок содержат пробелы и символы, которые не разрешены в LTREE.