Изменения документа Рекурсивный запрос
Редактировал(а) Alexandr Fokin 2023/12/16 14:12
От версии 2.5
отредактировано Alexandr Fokin
на 2021/10/25 11:24
на 2021/10/25 11:24
Изменить комментарий:
Updated parent field.
К версии 2.8
отредактировано Alexandr Fokin
на 2022/01/03 14:43
на 2022/01/03 14:43
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Родительский документ
-
... ... @@ -1,1 +1,1 @@ 1 -xwiki:Разработка.Базы данных.SQL. MSSQL.SQLзапросы.WebHome1 +xwiki:Разработка.Базы данных.SQL.SQL запросы.WebHome - Содержимое
-
... ... @@ -1,31 +1,36 @@ 1 1 {{code language="sql"}} 2 - 3 -with recursive tree (nm, id, level, pathstr) 4 -as 2 +WITH RECURSIVE tree (nm, id, level, pathstr) 3 +AS 5 5 ( 6 6 --Первый элемент в выборке. Начало рекурсии 7 - select 8 - nm, id, 0, cast('' as text) 9 - from tree_sample 10 - where id_parent is null 6 + SELECT 7 + nm, 8 + id, 9 + 0, 10 + cast('' as text) 11 + FROM tree_sample 12 + WHERE id_parent is null 11 11 12 - unionall14 + UNION ALL 13 13 14 14 --Каждый последующий элемент рекурсии 15 - select 16 - tree_sample.nm, tree_sample.id, t.level + 1, tree.pathstr + tree_sample.nm 17 - from tree_sample 18 - inner join tree 17 + SELECT 18 + tree_sample.nm, 19 + tree_sample.id, 20 + t.level + 1, 21 + tree.pathstr + tree_sample.nm 22 + FROM tree_sample 23 + INNER JOIN tree 19 19 on tree.id = tree_sample.id_parent 20 20 ) 21 21 22 - select23 - id,space( level ) + nm as nm24 - from tree25 - order by pathstr26 - 27 +SELECT 28 + id, 29 + space(level) + nm as nm 30 +FROM tree 31 +ORDER BY pathstr 27 27 {{/code}} 28 28 29 29 35 +Рекурсивные SQL запросы 30 30 https://habr.com/ru/post/27439/ 31 -