0

例如,有 2 个表:

系列:具有 3 个相关列(2 个团队在一个系列中):series_id、team1_id 和 team2_id

结果:有 3 个相关列:series_id、team_id(和时间)

每当一支球队赢得一场 SERIES 比赛时,就会在 RESULTS 表中插入一行。

我必须知道每个系列的当前得分。所以我需要加入 series_id 和 team id 上的表格。但是我想要一个看起来像这样的结果:

series team1 team2
------------------
1        4     3
2        3     1
3        2     4

我不明白如何在结果表中获取多个列,这两个列都存储输入表中条件行的 SUM。有任何想法吗?

4

1 回答 1

0

加入 上的表格series_id,然后按系列分组并计算获胜团队与系列中各个参与者匹配的次数(在 MySQL 中,可以使用来SUM(boolean expression)执行计数,因为TRUE等于1和):FALSE0

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
于 2012-09-03T22:23:28.397 回答