2011-08-25 99 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子句。