2010-12-16 52 views
1

我有一些連接,我正在檢索與一段內容相關的「標籤」。 我得到我的標籤袋很好,但它們每個都重複6-7次。JOIN顯示重複的結果? :/

SELECT                  

    users.userName,               
    usersProfiles.avatarUrl,             
    usersProfiles.gender,              

    GROUP_CONCAT(contentComments.message SEPARATOR ', ') AS comments,   

    c.*,                  

    GROUP_CONCAT(tagWords.tagWord SEPARATOR ', ') AS tags,      

    (SELECT COUNT(contentId) FROM platform.contentLikes WHERE contentId = 1213) as feedBackLikes                

FROM platform.contents c             

INNER JOIN platform.users ON users.userId = c.userId      
INNER JOIN platform.usersProfiles ON usersProfiles.userId = c.userId  
INNER JOIN platform.contentTags ON contentTags.contentId = c.contentId  
INNER JOIN platform.tagWords ON contentTags.tagId = tagWords.tagId   
INNER JOIN platform.contentComments ON contentComments.contentId = c.contentId                    

WHERE c.contentTitle = :contentTitle AND c.userId = :userId     

任何有關爲什麼發生這種情況的提示或建議,如果它是錯誤的,我將如何正確地做到這一點?

謝謝!

+3

大概忘了團體。 – 2010-12-16 18:37:39

回答

0

INNER JOIN的其中一個不是檢索唯一的記錄,而是幾個。嘗試對INNER JOIN進行評論並逐個取消註釋,以查看它是哪一個。

更新:對不起,跳到結尾。 Ignacio是對的,應該有一個GROUP BY。

+0

是的,完全是GROUP BY :) – 2010-12-16 18:52:33