あなたは評価を合計するGROUP BYを使用する必要があります。あなたのテーブルからコストコラムを無視しました。また、user_id列。これらの2つのテーブルの間にはdate_idだけが関連しているようです。以下のクエリはSQL Server 2012で作成されテストされましたが、SELECTステートメントはマイナーチェンジでもMySQLで動作するはずです。
スクリプト:
CREATE TABLE dbo.[date]
(
[date_id] INT NOT NULL IDENTITY
, [title] VARCHAR(100) NOT NULL
, [description] VARCHAR(100) NOT NULL
);
CREATE TABLE dbo.[date_rating]
(
[date_id] INT NOT NULL
, [user_id] INT NOT NULL
, [rating] INT NOT NULL
);
INSERT INTO dbo.[date] ([title], [description]) VALUES
('title 1', 'description 1'),
('title 2', 'description 2'),
('title 3', 'description 3');
INSERT INTO dbo.[date_rating] ([date_id], [user_id], [rating]) VALUES
(1, 100, 1),
(1, 200, -1),
(2, 200, -1),
(1, 200, 1),
(3, 200, 1),
(1, 200, -1);
SELECT d.[date_id]
, d.[title]
, d.[description]
, SUM([rating]) AS ratings
FROM dbo.[date] d
INNER JOIN dbo.[date_rating] dr
ON d.date_id = dr.date_id
GROUP BY d.[date_id]
, d.[title]
, d.[description];
出力:
date_id title description ratings
------- ------- ------------- -------
1 title 1 description 1 0
2 title 2 description 2 -1
3 title 3 description 3 1
申し訳ありませんが、それはMySQLの。 – penner