У меня довольно сложная структура таблицы с отношениями родитель-ребенок.
Идея структуры заключается в том, что некоторый объект в child_id может вызвать parent_id.
Предположим, эти данные;
Таблица 1 - карта
map_id | parent_id | child_id
1 | 1 | 2
2 | 1 | 3
3 | 1 | 4
Таблица 2 - атрибуты
attribute_id | child_id | id_to_trigger
1 | 2 | 5
2 | 5 | 6
Пример: система вопросников является мастером. Может содержать подгруппы для ответа; в этом случае подгруппы становятся дочерними по отношению к мастеру. Некоторые ответы в подгруппах могут вызвать дополнительную подгруппу в нем.
Теперь я хочу получить все идентификаторы подгрупп для данного мастера. Подгруппа может быть запущена из нескольких подгрупп, но это не проблема, поскольку мне нужны только идентификаторы подгруппы.
Как вы можете сказать, мастер с идентификатором 1 имеет 3 подгруппы 2, 3, 4. В таблице атрибутов мы видим, что подгруппа 2 может запускать подгруппу 5; аналогично 5 может вызвать 6 и т. д.
Мне нужно 2, 3, 4, 5, 6 в моем выводе. Как мне этого добиться?