2011-12-23 115 views
0

謝謝你看我的問題。
現在我有3個表:MySQL加入SUM查詢

  • 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; 

該查詢返回的點數表中的所有行,但我需要它來只返回一個排,每名僱員,點列是SUM。我已經嘗試過,但最後得到的結果是所有點的總和。有什麼想法嗎?

回答

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; 
+0

謝謝你的幫助,它效果很好! – engy0 2011-12-23 16:42:41

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?你想從那張桌子上得到什麼信息?

+0

tblEvents包含與每個點相關的點值的事件列表。 tblPoints使用employee_id和event_id來提取員工姓名,事件名稱以及已分配給該表中員工的分數。 – engy0 2011-12-23 16:47:03