2011-08-25 131 views
0

用戶表
USER_ID
總結多列

進入
USER_ID
points_a
points_b

SELECT user.*, 
(SUM(entry.points_a) + SUM(entry.points_b)) as points_total 
FROM user 
LEFT JOIN entry on entry.user_id = entry.user_id 


..是我想要做的事 - 得到總數用戶擁有的所有點。點的字段類型是INT。這似乎不工作?

+0

你期望它做什麼,取而代之的是什麼? – glglgl

+0

「這似乎不起作用?」 ---所以不是試圖在mysql中運行它,你來到這裏問道?你問每個SQL查詢嗎? – zerkms

回答

1

鑑於除了ID之外,用戶中沒有列,所以聯接真的沒有用處。

select userid, SUM(points_a) + SUM(points_b) as total 
from entry 
group by userid 

這會給你你在找什麼。如果您需要來自用戶表的更多字段(您剛剛未顯示),則可以執行聯接並將這些字段添加到選擇。

我想你錯過的是Group By子句。