Ho un problema con l'unione di tre tabelle in mysql.Come lasciare unire più tabelle da uno a molti in mysql?
consente di dire che abbiamo una tabella denominata posts
che tengo le mie entrate in esso, ho una tabella denominata likes
che devo conservare user_id di e post_id di dentro e una terza tabella denominata comments
che devo conservare user_id di e post_id di e testo di commento al suo interno .
Ho bisogno di una query che recuperi l'elenco delle mie voci, con il numero di Mi piace e commenti per ogni voce.
Im usando questa query:
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
ma c'è un problema con questa query, se i commenti sono vuoti per un elemento, ama conteggio è appena discreto, ma consente di dire se una voce ha 2 commenti e 4 Mi piace, sia total_comments che total_likes saranno "8", il che significa che mysql li moltiplica. Sono confuso e non so che cosa dovrei fare.
Grazie in anticipo.
Grazie, ha funzionato come un fascino. – Sallar