MySQL запрос для суммирования 2 строк

0

Я не специалист по MySQL и нуждаюсь в помощи с запросом.

таблица (t_teams)

команда | группа

Germany | A
Russia | B
Danmark | A
Japan | C

.....

таблица (t_matches)

id | fk_team1 | fk_team2 | points_team1 | points_team2
1 | Germany | Russia | 3 | 0
2 | Danmark | Japan | 3 | 0
3 | Germany | Japan | 3 | 0
4 | Russia | Danmark | 1 | 1

Внешние ключи: fk_team1 fk_team2

Теперь я хочу суммировать все точки в t_matches для каждой команды с помощью запроса mysql. Конечный результат должен выглядеть так:

**team | points**
Germany | 6
Russia | 1
Danmark | 1
Japan | 0

Я пробовал что-то вроде этого, но это не работает :-(

SELECT 
t1.team,
SUM(t2.points_team1) + SUM(t2.points_team2) AS points
FROM t_teams t1, t_matches t2
WHERE (t1.team = t2.fk_team1) OR (t1.team = t2.fk_team2)

Было бы здорово, когда кто-то может помочь мне с этим простым запросом.

  • 0
    почему Данмарк не 4?
Теги:

1 ответ

2

Вам необходимо отключить данные, а затем агрегировать результаты:

select team, sum(points)
from ((select fk_team1 as team, points_team1 as points from t_teams t
      ) union all
      (select fk_team2 as team, points_team2 as points from t_teams t
      )
     ) t
group by team;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню