Мне пришлось сделать это в MySQL недавно, к сожалению, MySQL не предлагает ничего полезного для обработки иерархических данных.
Я использовал дополнительный столбец varchar, называемый path, в котором я буду хранить «путь», ведущий к текущему элементу.Например, строка с id = 127, которая является дочерним элементом id = 120, который является дочерним элементом для id = 15, будет иметь путь = '/ 15/120/127'.
Вам необходимо позаботиться оэто самостоятельно при вставке данных.
Извлечение всех строк, которые являются прямыми или непрямыми дочерними элементами строки с id = 15, будет выглядеть следующим образом:
SELECT * FROM table WHERE
path LIKE '%/15/%'
Я также вижучто это довольно обсуждаемая тема здесь, на Stackoverflow.Посмотрите справа в столбце Связанные рядом с этим вопросом.