Я не специалист по 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)
Было бы здорово, когда кто-то может помочь мне с этим простым запросом.
Вам необходимо отключить данные, а затем агрегировать результаты:
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;