如果我犯了一些语法错误,请提前抱歉。问题在于,我正在使用诸如" Fighters"等表格制作MMA数据库。和#34;战斗"。
在桌子"战斗"我有两个领域: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
我尝试了很多不同的组合,查询,但总是搞砸了名字重复,不正确的记录...... 如果我可以进行此查询,那么剩下的就是小菜一碟。我觉得我已经到了一半,但我完全被封锁了。
如果您需要截图或更多信息请问,英语不是我的第一语言,而且很难解释自己。提前谢谢。
答案 0 :(得分:1)
使用两个表格 - Fights
和Fighters
:
此查询将返回总的胜利/损失:
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
在设计视图中,查询将如下所示:
(注意:我没有对表名或结果字段别名,因此生成的查询将以CountOfWINNER
和CountOfLoser
作为字段名称)。