Mysql результат не возвращается, если считать 0 - PullRequest
0 голосов
/ 07 июля 2010

У меня есть уровни доступа и страницы.Страницы <= many-to-many => Уровни. Мне нужно посчитать, сколько открытых страниц имеет каждый уровень.Но уровни не получаются, если pageCount равен 0.

SELECT 
    levels.id,
    levels.name,
    COUNT(pages.id) as pageCount
FROM levels
LEFT JOIN page_levels
    ON levels.id = page_levels.level_id
LEFT JOIN wp_pages
    ON page_levels.page_id = pages.id
WHERE pages.status = 'open'
GROUP BY levels.id

Разочарование.Пожалуйста, скажите мне, что мне не хватает.

1 Ответ

2 голосов
/ 07 июля 2010

Переместить условие в положение ВКЛ ().

SELECT 
    levels.id,
    levels.name,
    COUNT(pages.id) as pageCount
FROM levels
LEFT JOIN page_levels
    ON levels.id = page_levels.level_id
LEFT JOIN wp_pages AS pages
    ON page_levels.page_id = pages.id AND pages.status = 'open'
GROUP BY levels.id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...