Структура таблицы категорий:
Структура таблицы элементов:
- id
- title
- is_active (0 или 1)
- category_id
структура таблицы
Таблицы связаны с полем category_id отношением один ко многим.Те.В одной категории может быть много элементов.
Двухуровневая иерархия в таблице категорий.Это определяет основные категории и подкатегории.Категории - это те записи, в которых parent_id = NULL.И подкатегории, это те записи, в которых parent_id = некоторому идентификатору.
Один элемент может принадлежать как к основной категории (где parent_id = null), так и к подкатегории (child).Элемент может быть активным, а не активным (0 или 1).
Вам необходимо выполнить запрос и выбрать из таблицы категорий все основные категории (которые имеют parent_id = null), которые имеют активные элементы (is_active = 1).) и которые имеют подкатегории также с активными итемами.т.е. если у дочерней подкатегории есть элементы с is_active = 0, то не отображать эту категорию.
Я мог бы выбрать только основные категории, в которых только активные элементы:
SELECT categories.title, count(analyses.id) FROM items
INNER JOIN categories on items.category_id = categories.id
WHERE categories.parent_id IS NULL
AND categories.is_active = 1
GROUP BY analyses.category_id
ORDER BY analyses_categories.title
Но с подкатегориямине могу больше справляться, подскажите пожалуйста, у кого больше опыта.