tengo un problema al unir tres tablas en mysql.¿Cómo se puede unir varias tablas de una a varias en mysql?
digamos que tenemos una tabla llamada posts
que guardo mis entradas en él, tengo una tabla llamada likes
el que almaceno de user_id y de post_id y una tercera tabla denominada comments
el que almaceno de user_id y de post_id y el texto del comentario en ella .
necesito una consulta que obtiene la lista de mis entradas, con número de gustos y comentarios para cada entrada.
Im usando esta consulta:
SELECT posts.id, count(comments.id) as total_comments, count(likes.id) as total_likes
FROM `posts`
LEFT OUTER JOIN comments ON comments.post_id = posts.id
LEFT OUTER JOIN likes ON likes.post_id = posts.id
GROUP BY posts.id
pero hay un problema con esta consulta, si los comentarios están vacíos para un artículo, le gusta recuento está bien, pero digamos que si una entrada tiene 2 comentarios y 4 Me gusta, tanto total_comments como total_likes serán "8", lo que significa que mysql los multiplica. Estoy confundido y no sé qué debería hacer.
Gracias de advace.
Gracias, funcionó como un encanto. – Sallar