Задать вопрос
@AlexBoss

Как сделать рекурсивный запрос с возвращением всех пройденных элементов?

Есть таблица с полями name, from_id, to_id. Как сделать запрос на входе которого приходит from_id и рекурсивно пройти по всей таблице и собрать все to_id в том числе и для всех дочерних элементов?
  • Вопрос задан
  • 96 просмотров
Подписаться 1 Средний 5 комментариев
Помогут разобраться в теме Все курсы
  • OTUS
    PostgreSQL. Advanced
    4 месяца
    Далее
  • Учебный центр IBS
    QPT PostgreSQL 16. Оптимизация запросов
    1 неделя
    Далее
  • Слёрм
    PostgreSQL База
    4 недели
    Далее
Решения вопроса 1
@galaxy
with recursive q as (
    select * from tes where from_id = 1
     union all
    select tes.* from tes, q where tes.from_id = q.to_id
)
select * from q order by from_id, to_id

https://www.db-fiddle.com/f/4jyoMCicNSZpjMt4jFYoz5/4445
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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