在Access中进行输赢记录查询
Making a win-lose record query in Access
如果我犯了一些语法错误,请提前道歉。问题是我正在制作一个包含 table 的 MMA 数据库,例如 "Fighters" 和 "Fights"。
在 table "Fights" 中,我有两个字段:WINNER 和 LOSER,因此,为了查看一名战士赢或输了多少场比赛,我做了两个查询:一个是计算获胜,另一个计算损失。但是我觉得有点没用。
SQL 视图中的查询:
SELECT FIGHTS.WINNER, Count(FIGHTS.WINNER) AS WIN
FROM FIGHTS
GROUP BY FIGHTS.WINNER;
___
SELECT FIGHTS.LOSER, Count(FIGHTS.LOSER) AS LOSE
FROM FIGHTS
GROUP BY FIGHTS.LOSER;
结果:
WINNER WINS
Raquel Pennington 1
Sara McMann 1
Sarah D'Alelio 2
Sarah Maloy 1
____
LOSER LOSE
Kaitlin Young 2
Lacey Schuckman 1
Lisa Ellis 1
Meghan Wright 1
我想要一个显示输家的查询,反之亦然,所以它可能是这样的:
WINNER WINS
Raquel Pennington 1
Sara McMann 1
Sarah D'Alelio 2
Sarah Maloy 1
Kaitlin Young 0
Lacey Schuckman 0
Lisa Ellis 0
Meghan Wright 0
___
LOSER LOSE
Kaitlin Young 2
Lacey Schuckman 1
Lisa Ellis 1
Meghan Wright 1
Raquel Pennington 0
Sara McMann 0
Sarah D'Alelio 0
Sarah Maloy 0
我尝试了很多不同的组合、查询,但结果总是搞砸了名称重复、记录不正确...
如果我能提出这个问题,那么剩下的就小菜一碟了。感觉自己说到一半了,但是完全堵住了
如果您需要屏幕截图或更多信息,请直接询问,英语不是我的第一语言,我自己也很难解释清楚。提前致谢。
使用两个 tables - Fights
和 Fighters
:
此查询将 return 总数 Wins/Losses:
SELECT Fighter
, COUNT(F1.WINNER) AS Wins
, COUNT(F2.LOSER) AS Losses
FROM (Fighters LEFT JOIN Fights F1 ON Fighters.Fighter = F1.Winner)
LEFT JOIN Fights F2 ON Fighters.Fighter = F2.Loser
GROUP BY Fighter
给出这个结果:
在设计视图中,查询如下所示:
(注意:我没有为 table 名称或结果字段添加别名,因此生成的查询将具有 CountOfWINNER
和 CountOfLoser
作为字段名称)。
如果我犯了一些语法错误,请提前道歉。问题是我正在制作一个包含 table 的 MMA 数据库,例如 "Fighters" 和 "Fights"。
在 table "Fights" 中,我有两个字段:WINNER 和 LOSER,因此,为了查看一名战士赢或输了多少场比赛,我做了两个查询:一个是计算获胜,另一个计算损失。但是我觉得有点没用。
SQL 视图中的查询:
SELECT FIGHTS.WINNER, Count(FIGHTS.WINNER) AS WIN
FROM FIGHTS
GROUP BY FIGHTS.WINNER;
___
SELECT FIGHTS.LOSER, Count(FIGHTS.LOSER) AS LOSE
FROM FIGHTS
GROUP BY FIGHTS.LOSER;
结果:
WINNER WINS
Raquel Pennington 1
Sara McMann 1
Sarah D'Alelio 2
Sarah Maloy 1
____
LOSER LOSE
Kaitlin Young 2
Lacey Schuckman 1
Lisa Ellis 1
Meghan Wright 1
我想要一个显示输家的查询,反之亦然,所以它可能是这样的:
WINNER WINS
Raquel Pennington 1
Sara McMann 1
Sarah D'Alelio 2
Sarah Maloy 1
Kaitlin Young 0
Lacey Schuckman 0
Lisa Ellis 0
Meghan Wright 0
___
LOSER LOSE
Kaitlin Young 2
Lacey Schuckman 1
Lisa Ellis 1
Meghan Wright 1
Raquel Pennington 0
Sara McMann 0
Sarah D'Alelio 0
Sarah Maloy 0
我尝试了很多不同的组合、查询,但结果总是搞砸了名称重复、记录不正确... 如果我能提出这个问题,那么剩下的就小菜一碟了。感觉自己说到一半了,但是完全堵住了
如果您需要屏幕截图或更多信息,请直接询问,英语不是我的第一语言,我自己也很难解释清楚。提前致谢。
使用两个 tables - Fights
和 Fighters
:
此查询将 return 总数 Wins/Losses:
SELECT Fighter
, COUNT(F1.WINNER) AS Wins
, COUNT(F2.LOSER) AS Losses
FROM (Fighters LEFT JOIN Fights F1 ON Fighters.Fighter = F1.Winner)
LEFT JOIN Fights F2 ON Fighters.Fighter = F2.Loser
GROUP BY Fighter
给出这个结果:
在设计视图中,查询如下所示:
(注意:我没有为 table 名称或结果字段添加别名,因此生成的查询将具有 CountOfWINNER
和 CountOfLoser
作为字段名称)。