MySQL Join SUM запрос - PullRequest
       7

MySQL Join SUM запрос

0 голосов
/ 23 декабря 2011

Спасибо за внимание к моей проблеме.
Прямо сейчас у меня есть 3 таблицы:

  • tblEmployee
  • tblEvents
  • tblPoints

tblEmployee

EMPLOYEE_ID
First_Name
Last_Name
E-mail
Команда

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 ]

2 голосов
/ 23 декабря 2011

Вы пробовали что-то вроде:

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 голосов
/ 23 декабря 2011

Это работает?

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? Какую информацию вы хотите из этой таблицы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...