Mam dwie tabele, jedną dla wiadomości, a drugą dla komentarzy i chcę uzyskać liczbę komentarzy, których status został ustawiony jako zatwierdzony.
SELECT
ccc_news . *,
count(if(ccc_news_comments.id = 'approved', ccc_news_comments.id, 0)) AS comments
FROM
ccc_news
LEFT JOIN
ccc_news_comments
ON ccc_news_comments.news_id = ccc_news.news_id
WHERE
`ccc_news`.`category` = 'news_layer2'
AND `ccc_news`.`status` = 'Active'
GROUP BY
ccc_news.news_id
ORDER BY
ccc_news.set_order ASC
LIMIT 20
Ale problem z tym zapytaniem polega na tym, że minimalna wartość, która jest pobierana dla kolumny komentarzy, to 1, niezależnie od tego, czy istnieje komentarz odpowiadający tej wiadomości, czy nie.
Każda pomoc byłaby bardzo znacząca.