要开始在我原来的问题是太具体的问题: 我有一个匹配的表格式:如何连接两个表,其中一些行保持部分空白?
ID|Player1|Player2|P1Score|P2Score
--+-------+-------+-------+-------
1| 71| 83| 2| 0
2| 73| 71| 1| 1
3| 71| 65| 2| 0
4| 65| 83| 0| 2
凡
- 2是一个双赢
- 1一条领带,
- 0是一个损失。
我需要得到一个表格式:
Player|Wins|Draws|Losses
------+----+-----+------
71| 2| 1| 0
73| 0| 1| 0
83| 1| 0| 1
65| 0| 0| 1
而且我没有太多的想法如何去了解它。
我得到的最接近是
SELECT Player1, COUNT(P1Score) FROM matches WHERE P1Score = 2 GROUP BY Player1
并重复用于绘制和损失,然后连接表,重复的P2和值相加在一起,但似乎JOIN
是不太我需要的命令。
您必须将p1score与p2score进行比较才能使代码具有通用性。例如,如果你有一个新的条目,那么得分(两个玩家)等于3?你的逻辑将被打破 – Andrade
@Andrade:当两名球员参加比赛时,只有3种可能的结果。这些结果被编码为“2”,“1”,“0”。 –
@Andrade问题说:“2是胜利,1是平局,0是损失”。这不是关于目标,而是结果。像国际象棋。 – SqlZim