Изменения документа Рекурсивный запрос

Редактировал(а) Alexandr Fokin 2023/12/16 14:12

От версии 5.1
отредактировано Alexandr Fokin
на 2022/03/19 13:16
Изменить комментарий: К данной версии нет комментариев
К версии 2.10
отредактировано Alexandr Fokin
на 2022/01/03 14:54
Изменить комментарий: Updated parent field.

Сводка

Подробности

Свойства страницы
Родительский документ
... ... @@ -1,1 +1,1 @@
1 -Разработка.Базы данных.SQL.PostgreSQL.PL pgSQL.WebHome
1 +xwiki:Разработка.Базы данных.SQL.MSSQL.SQL запросы.WebHome
Содержимое
... ... @@ -1,7 +1,36 @@
1 -Аналог MsSql: [[Рекурсивный запрос>>doc:Разработка.Базы данных.SQL.MSSQL.SQL запросы.Рекурсивный запрос.WebHome]]
1 +{{code language="sql"}}
2 +WITH RECURSIVE tree (nm, id, level, pathstr)
3 +AS
4 +(
5 + --Первый элемент в выборке. Начало рекурсии
6 + SELECT
7 + nm,
8 + id,
9 + 0,
10 + cast('' as text)
11 + FROM tree_sample
12 + WHERE id_parent is null
2 2  
3 -Запрос задействует механизм [[CTE>>doc:Разработка.Базы данных.SQL.MSSQL.TSQL.CTE.WebHome]].
14 + UNION ALL
4 4  
16 + --Каждый последующий элемент рекурсии
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
24 + on tree.id = tree_sample.id_parent
25 +)
5 5  
6 -Рекурсивные запросы в PostgreSQL (WITH RECURSIVE)
7 -https://habr.com/ru/post/269497/
27 +SELECT
28 + id,
29 + space(level) + nm as nm
30 +FROM tree
31 +ORDER BY pathstr
32 +{{/code}}
33 +
34 +
35 +Рекурсивные SQL запросы
36 +https://habr.com/ru/post/27439/