【发布时间】:2015-02-11 17:23:16
【问题描述】:
我正在尝试构建一个查询,该查询将向我显示我的数据库中每个团队的积分数(无论如何作为开始)。我有两张表格,一张是球队名单,一张是比赛,格式为
周|主队|客队|主场得分|客场得分|结果|比赛ID
其中 Result 可以是 A(客场获胜)、H(主场获胜)或 D(平局)。我可以很容易地找到给定团队的积分数
SELECT
(SELECT COUNT(matches.Result)*3 FROM matches WHERE (HomeTeam='Arsenal' AND Result='H') OR (AwayTeam='Arsenal' AND Result='A')) +
(SELECT COUNT(matches.Result) FROM matches WHERE (HomeTeam='Arsenal' OR AwayTeam='Arsenal') AND Result='D');
我想做的是这样的:
FOR EACH teams.Team in teams
SELECT
(SELECT COUNT(matches.Result)*3 FROM matches WHERE (HomeTeam=Team AND Result='H') OR (AwayTeam=Team AND Result='A')) +
(SELECT COUNT(matches.Result) FROM matches WHERE (HomeTeam=Team OR AwayTeam=Team) AND Result='D');
不幸的是,这不起作用,我不太明白为什么。我做错了什么?
【问题讨论】:
标签: mysql sql for-loop mariadb