Tengo una tabla para
noticias, otra para los
comentarios y otra para los
votos.
Quiero obtener un listado de las noticias, junto con la suma de votos y el total de comentarios. Lo he hecho de la siguiente forma:
Código PHP:
SELECT
noticias.id_noticia,
noticias.titulo,
SUM(votos_noticia.voto),
COUNT(comentarios_noticia.id_comentario)
FROM
noticias
LEFT JOIN
votos_noticia
ON votos_noticia.num_noticia = noticias.id_noticia
LEFT JOIN
comentarios_noticia
ON comentarios_noticia.num_noticia = noticias.id_noticia
GROUP BY
noticias.id_noticia
Pero no me da los resultados que debería. Por ejemplo, hay una noticia que tiene 8 comentarios y una puntuación de 2, y en los resultados de la consulta me dice que tiene 16 comentarios y una puntuación de 16. Lo que hace es multiplicar 2x8 no sé por qué.
¿Qué estoy haciendo mal en la consulta?