Я работаю с mySQL и нахожусь в ситуации, когда мне нужно выбрать данные из одной таблицы, которые соответствуют идентификатору на любом уровне в родительской -> дочерней иерархии данных в другой таблице.
Более того, я хотел бы решить эту проблему с помощью хорошо написанного SQL-запроса, а не рекурсивной функции в моем PHP-коде, так как эта функция будет использоваться совсем немного.
Я попытался выполнить поиск и наткнулся на многочисленные похожие проблемы (большинство из них решаются), однако ни одна из них не помогла мне.
Чтобы проиллюстрировать ситуацию, вот мои текущие настройки
Таблица «Статьи»:
- article_id
- category_id
- ...
таблица категорий
- category_id
- parent_id
- ...
Мне нужно выбрать все статьи из «статьи», где «article.category_id», скажем, 10. Но я также получаю все статьи из всех категорий из дерева, к которому принадлежит «category.category_id» 10.
Значение, где "10" - родитель и все его дети, и выше, где 10 - ребенок и все его родители.
Возможно без рекурсивной функции php?
Спасибо.