例如,有两个表:
系列:有3个相关栏目(2个团队在一个系列中):series_id、team1_id和team2_id
结果:具有3个相关列:series_id、team_id(和时间)
每当一支球队赢得一场系列赛,结果表中就会插入一行。
我必须知道每个系列赛的当前分数。所以我需要加入series_id和team id的表格。但是我想要一个看起来像这样的结果:
series team1 team2
------------------
1 4 3
2 3 1
3 2 4
我不知道如何在结果表中获得多个列,这两个列都存储来自输入表的条件行的SUM。有什么想法吗?
加入series_id
上的表格,然后按系列分组,并计算获胜团队与系列中相应参与者匹配的次数(在MySQL中,可以使用SUM(boolean expression)
进行计数,因为TRUE
等于1
,FALSE
等于0
):
SELECT series_id,
SUM(RESULTS.team_id = SERIES.team1_id) AS team1,
SUM(RESULTS.team_id = SERIES.team2_id) AS team2
FROM SERIES LEFT JOIN RESULTS USING (series_id)
GROUP BY series_id