quotes というテーブルがあります。
id date content
80 2012-06-03 This is the first quote.
81 2012-06-05 Lorem Ipsum.
そして、評価と呼ばれるテーブル:
rid uid qid rating
1 4 80 -1
2 4 81 1
uid フィールドは、その評価を行ったログイン ユーザーを参照します。見積もり Web サイトはログイン ユーザーのみが利用できます。現在のユーザーに見積もりを表示できるようにしたいと考えています。これには、見積もりの現在の評価、見積もりを評価したかどうか、評価した場合は何を評価したかを示す情報が含まれます。それとして。評価は -1 または 1 のいずれかです。見積もりは、それを送信したユーザーには関連付けられません。
引用を 1 つだけ取得する場合は、次のクエリを実行します (例: 引用 80 とユーザー 4)。
SELECT
q.id AS qid, q.content, q.date,
COALESCE(SUM(r.rating), 0) AS rating,
(SELECT COALESCE(rating, 0) FROM ratings WHERE qid = 80 AND uid = 4 LIMIT 1)
AS user_rated
FROM quotes q
LEFT JOIN ratings r ON q.id = r.qid
WHERE q.id = 80
GROUP BY q.id
複数の引用を表示するように変更するにはどうすればよいですか (つまり、引用 ID 80 だけでなく)、user_rated と評価情報は保持しますか?
どうもありがとう!