У меня есть 3 таблицы. Первая таблица это: packs_global_cats В ней есть 3 глобальные категории. Каждая из глобальных категорий имеет свои субкатегории. Таблица с субкатегориями называется: packs_cats. Вот ее структура:
id
global_cat
name
Третья таблица это сами пакеты. Вот их структура:
id cat name
Вопрос.
Как мне посчитать количество субкатегорий, для конкретной глобальной категории, в которой есть пакеты? Начало запроса у меня такое:
"SELECT COUNT(*) FROM packs_cats WHERE global_cat = '$global_cats[id]'"
Данный запрос просто посчитает сколько есть субкатегорий для одной глобальной, но этот запрос не зайдет в таблицу с пакетами и не проверит существуют ли в этих субкатегориях пакеты.
Нужно как то с помощью LEFT JOIN, но я к сожалению не понимаю как. Помогите пожалуйста
Вариант навскидку (возможно, не самый оптимальный по скорости):
SELECT COUNT(DISTINCT c.id)
FROM packs_cats AS c
JOIN packs AS p ON c.id = p.cat
WHERE c.global_cat = <global_cat_id>
– здесь вместо <global_cat_id>
нужно подставить ID глобальной категории.
P.S.: Нужен именно JOIN
, а не LEFT JOIN
, потому что LEFT JOIN
выберет все категории – даже те, в которых нет пакетов.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть таблица из связки JLabel/JButton и JText, с помощью Grid'a задал им нужные пропорции, но при растяжении окна размеры (масштаб) компонентов не меняетсяКак...
Всем добрый день, я хочу чтобы пользователь выбирал где сохранять файл сам через FileChooser в JavaFX, но когда он выбирает директорию например D:\File\...