2013-07-09 36 views
0

我拖表(MySQL的):伯爵在MySQL中有多個表

論壇:match_static_id,評論,...

比賽:static_id,.........

的SQL語句:

SELECT forum.match_static_id, count(forum.comments) 'comments_no', matches.* 
from forum 
INNER JOIN matches ON forum.match_static_id = matches.static_id 
group by forum.match_static_id 

我沒有得到的每場比賽的評論權數(它總是乘評論例子的數量4個評論返回8)即使我通過使用組。我的sql錯誤,我只是想從你的線索請嗎?

+0

既然這樣,您的查詢看起來不錯insted的。你會有一個給定的static_id比賽的記錄嗎? –

+0

no static_id是唯一的 – Basel

+0

你可以添加一些示例數據(應該複製問題)的問題? –

回答

-1

,您應該使用LEFT JOIN的內

SELECT forum.match_static_id, count(forum.comments) 'comments_no', matches.* from matches LEFT JOIN forum ON forum.match_static_id = matches.static_id
group by forum.match_static_id

+0

無法解決他目前的問題,但如果沒有評論匹配,這將是一個好主意。 –

+0

不,我查詢只是與評論匹配 – Basel

+0

我認爲更新的查詢應該解決問題。左連接中有他們的匹配和註釋。你可以在那裏放置IF NULL或者某物。否則解決沒有評論的問題。 – jaczes