我在連接mysql中的三個表時遇到了問題。如何在MySQL中將多個表連接到多個表?
,假設我們有一個表名爲posts
,我把我的項目中,我有一個表命名爲likes
我存儲USER_ID的和POST_ID在和第三臺名爲comments
我存儲USER_ID的和POST_ID的和註釋的文本在它。
我需要一個查詢來獲取我的條目列表,每個條目的喜歡數和評論數。使用
林這個查詢:
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
但與此查詢的問題,如果評論是空的一個項目,喜歡數僅僅是確定,但可以說,如果一個條目有2條評論和4喜歡,total_comments和total_likes都是「8」,這意味着mysql將它們相乘。 我很困惑,我不知道該怎麼辦。
感謝advace。
謝謝,工作就像一個魅力。 – Sallar 2011-01-10 20:18:18