lanka
Новичок
Помогите, пожалуйста, с запросом.
Простой менеджер ссылок.
Есть таблица подкатегорий ссылок и собственно ссылок
У ссылки есть параметр "активна" (поле is_active)
Нужные для запросов поля таблиц:
таблица Subcat
id (идентификатор)
groupid (идентификатор группы, ссылка на него задается неизменным числом для каждого запроса)
name (имя подкатегории)
таблица Links
id (идентификатор)
subgroupid (идентификатор подгруппы)
is_active (показатель активности, может быть 1, 0, по умолчанию 0)
Суть запроса - показать имена подкатегорий и количества активных ссылок в них. Если ссылок в подкатегориях нет, или нет активных ссылок, то показывается 0.
То, что у меня сейчас родилось, теряет те категории, в которых есть только неактивные ссылки. То есть почему так происходит, понятно, но как сформулировать нужный запрос - неясно.
нынешний запрос:
Заранее спасибо за помощь.
Простой менеджер ссылок.
Есть таблица подкатегорий ссылок и собственно ссылок
У ссылки есть параметр "активна" (поле is_active)
Нужные для запросов поля таблиц:
таблица Subcat
id (идентификатор)
groupid (идентификатор группы, ссылка на него задается неизменным числом для каждого запроса)
name (имя подкатегории)
таблица Links
id (идентификатор)
subgroupid (идентификатор подгруппы)
is_active (показатель активности, может быть 1, 0, по умолчанию 0)
Суть запроса - показать имена подкатегорий и количества активных ссылок в них. Если ссылок в подкатегориях нет, или нет активных ссылок, то показывается 0.
То, что у меня сейчас родилось, теряет те категории, в которых есть только неактивные ссылки. То есть почему так происходит, понятно, но как сформулировать нужный запрос - неясно.
нынешний запрос:
PHP:
SELECT subgroups.id AS id, subgroups.name AS name,
IF (
links.id IS NOT NULL , count( * ) , 0
) AS col
FROM subgroups
LEFT JOIN links ON subgroups.id = links.subgroupid
WHERE subgroups.groupid = 1 AND (
links.is_active = 1 OR links.is_active IS NULL
)
GROUP BY subgroups.id, subgroups.name