У меня есть таблица категорий, настроенная так [id, name, parent_id] и таблица элементов [id, name, category_id, visible]. То, что я пытаюсь сделать, - это создать запрос, который будет возвращать все идентификаторы всех непустых категорий, непустыми, поскольку он или один из его дочерних элементов имеет хотя бы один принадлежащий ему элемент. Что было бы лучшим способом сделать это в MySQL?
редактировать
ВЫБРАТЬ DISTINCT category_id ИЗ элементов
Это работает для категорий, содержащих элементы, но мне также нужны родительские категории для всех элементов, содержащих категории. Этот запрос будет использоваться как подзапрос вместе с некоторыми другими фильтрами.
Категория верхнего уровня
-> Категория второго уровня
-> Категория третьего уровня
---> Пункт 1
---> Пункт 2