Рекурсивный поиск потомков sql

Есть таблица, в которой описано структурное дерево и есть задача, найти всех потомков
Вариантов это сделать много

  1. Обойти на языке программирования — загрузка всей таблицы и рекурсивный анализ таблицы на ЯП
  2. Рекурсивно обойти внутри SQL
    with recursive r
    as (select item_id
        from my_table as t 
        where item_id = :start_id
        UNION ALL
        select m.item_id
        from my_table m
        join r 
        on m.parent_id = r.item_id
    )
    select item_id
    from r
    ;

    выведены будут список id элементов потомков start_id

Leave a comment

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.