2016-07-03 6 views
0

、GROUP BYにもかかわらず、すべての行を返す登録しようBYによって、レビューテーブルからの行が返されないようになっています。LEFTは、私はレビューのテーブルからすべての行が含まれるように、クエリのJOIN LEFTを取得しようとしている

このクエリのレビューテーブルからすべての行を返すにはどうすればよいですか?

+0

また、すべての票を1つの(整数)列に格納することを検討することもできます。良い投票は「1」、悪い投票は「-1」 – Strawberry

答えて

2

GROUP BY r.review_idを使用してください。レビューに投票がない場合、v.vote_review_idNULLです。 v.vote_review_idでグループ化すると、0票のすべてのレコードが結果セットの単一の行にグループ化され、review_idNULLとなります。

SELECT r.review_id, SUM(v.vote_good), SUM(v.vote_bad) 
FROM reviews AS r 
LEFT JOIN reviews_votes_overall AS v 
ON r.review_id = v.vote_review_id 
GROUP BY r.review_id 
ORDER BY SUM(v.vote_good) 
+0

もちろんです!私は今、とても馬鹿だと感じる!!ありがとう:)) –

+0

それは起こります。ときには、間違いの中で最も簡単なものを特定するために、目の新鮮なペアが必要になることがあります:) –

関連する問題