Я много искал, чтобы найти свой ответ, самый связанный - Поиск всех родителей в таблице mysql с одним запросом (Рекурсивный запрос)
Ответ отличный , но я обнаружил, что это решение не работает, когда один узел имеет более одного родителя. Таблица, подобная этой:
id, node_id, parent_id
1, 1, 2
2, 2, 3 <-----
3, 2, 4 <-----
4, 4, 5
5, 5, 6
6, 6, 7
Обратите внимание, что строка 2 и строка 3, узел с node_id=2
имеет более одного родителя.
Ответ, упомянутый выше, будет возвращать только родительский идентификатор 2, 3, 4
когда node_id=1
, что не соответствует действительности. (Должно быть 2, 3, 4, 5, 6, 7
)