MySQL加入SUM查询

时间:2011-12-23 16:34:03

标签: mysql join sum

感谢您查看我的问题 现在我有3张桌子:

  • tblEmployee
  • tblEvents
  • tblPoints

tblEmployee

EMPLOYEE_ID

将First_Name 姓氏
电子邮件
团队

tblEvents

Events_id
EVENT_DATE
EVENT_NAME

活跃

tblPoints

Points_id
EMPLOYEE_ID
Events_id

以下是我目前正在运行的查询:

SELECT tblEmployee.First_Name, tblEmployee.Last_Name, tblEvents.Points
FROM tblEvents INNER JOIN (tblEmployee INNER JOIN tblPoints
ON tblEmployee.Employee_id = tblPoints.Employee_id) 
ON tblEvents.Events_id = tblPoints.Events_id;

此查询返回Points表中的所有行,但我需要它只返回每个员工一行,其中points列为SUM。我试过这个,但最后得到一行,总结所有点。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

你有没有试过像:

SELECT tblEmployee.First_Name, tblEmployee.Last_Name, SUM(tblEvents.Points) AS Points
FROM tblEvents INNER JOIN (tblEmployee INNER JOIN tblPoints
ON tblEmployee.Employee_id = tblPoints.Employee_id) 
ON tblEvents.Events_id = tblPoints.Events_id
GROUP BY tblEmployee.Employee_id;

答案 1 :(得分:0)

这有用吗?

select tblEmployee.first_name, 
       tblEmployee.Last_Name
       sum(tblEvents.Points)
from tblEmployee 
  join tblPoints on tblPoints.employee_id = tblEmployee.employee_id
group by tblEmployee.first_name, 
       tblEmployee.Last_Name

MySQL很乐意在没有组的情况下进行分组,其他数据库会抛出错误。

我的问题是你为什么加入tblEvents?你想从那张桌子上得到什么信息?