2010-07-07 6 views
0

액세스 수준과 페이지가 있습니다. Pages < = many-to-many => 레벨 각 레벨마다 열려있는 페이지의 수를 계산해야합니다. 그러나 pageCount가 0이면 레벨이 나오지 않습니다.count가 0이면 Mysql 결과가 반환되지 않습니다.

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 

실망. 내가 놓친 걸 말해줘.

답변

2

조건을 ON()으로 이동하십시오.

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 
+0

감사합니다. 매력적입니다. – Xobb

관련 문제