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

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

Есть таблица с полями name, from_id, to_id. Как сделать запрос на входе которого приходит from_id и рекурсивно пройти по всей таблице и собрать все to_id в том числе и для всех дочерних элементов?
  • Вопрос задан
  • 96 просмотров
Подписаться 1 Средний 5 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    Мидл Python-разработчик
    6 месяцев
    Далее
Решения вопроса 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
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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