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

Версия 2.11 от Alexandr Fokin на 2022/01/03 14:54

Последние авторы
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
13
14 UNION ALL
15
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 )
26
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/