172 похожих чатов

Всем привет! У меня есть дерево связей, одна сущность может

содержать в себе детей, и так далее до бесконечности. У меня это реализовано так:

Таблица:
- entity: id, name
- entity_relations: id, parent_id, entity_id

Задача, получить id всех детей, по id родителя, через чистый sql. Я написал такой функционал используя язык программирования и перебор всех детей до самого конца, но это вообще не оптимальный путь как по мне. По скл не очень силен, может кто встречал уже готовые конструкции для выборки всех детей, применимую для моей структуры таблиц? Спасибо!

P.S Таблица связей нужна из-за того, что одна сущность может быть привязана несколько раз к разным сущностям

3 ответов

11 просмотров

Recursive CTE, см. https://www.postgresql.org/docs/current/queries-with.html Там есть примеры обхода дерева и графа.

Запрос в поиск: SQL иерархия в ответах будет вариантов в ассортименте и достатке. Выбирайте, что понравится.

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

Обсуждают сегодня

У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
Всем привет. Сейчас я изучаю erlang по книге Erlang and OTP in action. Дошел до главы где реализуется первый gen server на примере tcp rpc сервера. Меня очень сильно смутил ко...
Freezing Death
6
что за асемблер кста?
Shvabrikk Nya
19
Добрый день! Пробую отловить исключение EConvertError: function _TryTextToDouble(var DoubleVar: Extended; Text: String): Boolean; begin try DoubleVar := StrToFloat...
Kirill Filippenok
19
Подскажите... Есть ли название у способа разработки кода, в котором: сперва пишут минимальную рабочую структуру: Напр. ввод, обработка, вывод, контроль. Потом эту структуру д...
Budemposmotret
6
В дизассемблере вижу, что строки пихают в регистры через lea, почему так, а не через mov?
Oleg
8
всем привет. реально ли понять чем в процессе занята память? delphi/linux, процесс свой
Handatros
12
А где @Grinyaha уважаемый пропал?
Am Ambrion
14
Коллеги, а не могли бы вы подсказать, как происходит оптимизация кода при выполнении кода julia? (Точнее, как управлять уровнем оптимизации, аналогично LLVM/GCC). Потому что...
Илья Гаража
5
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Карта сайта