@ForestGumo

Как рекурсивно(SQL) вывести parent и child?

Имеется следующая SQL-команда:

WITH RECURSIVE menu AS (
            SELECT id, parent_id, name, CAST(name AS CHAR(500)) AS path
            FROM app_menu 
            WHERE name = %s

        UNION 

        SELECT app_menu.id, app_menu.parent_id, app_menu.name, menu.path || app_menu.name
        FROM app_menu
            JOIN menu 
                ON app_menu.parent_id = menu.id)   

        SELECT * FROM menu ORDER BY path;'''


Здесь я вывожу в иерархическом порядке только детей объекта. Как мне вывести родителей тоже. У меня получается бесконечный цикл, если писать:
ON app_menu.parent_id = menu.id OR app_menu.id= menu.parent_id


Мне нужно уложиться в один запрос в SQL
  • Вопрос задан
  • 185 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы