Tengo dos tablas, una para noticias y otra para comentarios y quiero obtener el conteo para los comentarios cuyo estado se ha establecido como aprobado.Cuenta con condición if en la consulta de mysql
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
Pero el problema con esta consulta es que el valor mínimo que se trae para la columna de comentarios es 1 si hay algún comentario existente correspondiente a esa noticia o no.
Cualquier ayuda sería muy apreciable.
¿Qué sucede si usa SUM en lugar de COUNT? –