【发布时间】:2015-02-11 19:29:45
【问题描述】:
我有一个包含两个表、比赛和球队的数据库。团队表很简单,它包含一个包含 20 个团队列表的字段。比赛表记录了球队之间的比赛。字段如下(以数据为例):
+------+----------+-------------+-----------+-----------+--------+---------+
| Week | HomeTeam | AwayTeam | HomeScore | AwayScore | Result | MATCHID |
+------+----------+-------------+-----------+-----------+--------+---------+
| 1 | Stoke | Aston Villa | 0 | 1 | A | 151 |
+------+----------+-------------+-----------+-----------+--------+---------+
我的问题是,我怎样才能以每支球队获得的积分等形式从中返回有用的数据?我可以计算给定团队的得分,但不能计算表格中所有团队的得分。例如,我可以计算利物浦的积分
SELECT
(SELECT COUNT(matches.Result)*3
FROM matches
WHERE (HomeTeam='Liverpool' AND Result='H') OR (AwayTeam='Liverpool' AND Result='A'))+
(SELECT COUNT(matches.Result)
FROM matches
WHERE (HomeTeam='Liverpool' OR AwayTeam='Liverpool') AND Result='D');
这将输出“21”。但我真正想要的是一个团队列表(由“团队”表定义)以及每个团队获得的积分。我该怎么做?
【问题讨论】:
标签: mysql sql select subquery mariadb