私は LEFT JOIN で遊んでいますが、以下のクエリですべてのユーザーからこれまでのすべての評価の合計を取得できるかどうか疑問に思っています。以下は、ログインしたユーザーが評価したかどうかに関する情報を取得しますが、他のユーザーからの合計評価も表示したいと思います。
$query = mysql_query("
SELECT com.comment, com.comment_id, r.rate_up, r.rate_down
FROM comments com
LEFT JOIN ratings r
ON com.comment_id = r.comment_id
AND r.user_id = '" . $user_id_var . "'
WHERE page_id = '" . $category_id_var. "'");
次のことを試しましたが、何らかの理由でコメント/行が1つしか返されません。
$query = mysql_query("
SELECT com.comment, com.comment_id,
r.rate_up, r.rate_down
SUM(r.rate_up) AS total_up_ratings,
SUM(r.rate_down) AS total_down_ratings,
FROM comments com
LEFT JOIN ratings r
ON com.comment_id = r.comment_id
AND r.user_id = '" . $user_id_var . "'
WHERE page_id = '" . $category_id_var. "'");
どんな助けでも感謝します。別の種類の JOIN が必要ですか?