2010-12-16 4 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

おそらくグループを忘れています。 –

答えて

0

INNER JOINのうちの1つは、ユニークなレコードではなく複数のレコードを取得しています。 INNER JOINのコメントにコメントを付けて、コメントを付けてコメントを付けてください。

更新:申し訳ありませんが、結論にジャンプします。イグナシオはそうです、GROUP BYがあるはずです。

+0

はい、まったくGROUP BY :) –

関連する問題