我有两个表设置如下:
> events
-----------------------------------
id | event | eventHandle | points
-----------------------------------
1 | Event One | eventOne | 5
2 | Event Two | eventTwo | 10
> entries
-----------------------------------
id | user | eventHandle
-----------------------------------
1 | 1 | eventOne
2 | 1 | eventTwo
3 | 1 | eventTwo
5 | 5 | eventOne
我需要做的是获得每个用户获得的与每个事件相关的“积分”数量。
例如,用户1得到25分,用户5得到5分。
我无法弄清楚的是如何获得积分,基于eventHandle并将它们加在一起。
我设法从不同的表中选择不同的数据,并使用不同的查询进行基本求和,但不进行组合。令人难以置信。
任何帮助都非常感谢!
答案 0 :(得分:1)
您需要做的只是在eventHandle字段的2个表和用户的汇总点之间的简单inner join
:
select en.user, sum(ev.points)
from events ev
inner join entries en on ev.eventHandle=en.eventHandle
group by en.user