我有桌游戏

id | visitor | score1 | home | score2 | winner------+-----------+--------+----------+--------+---------- 1 | abc | 20 | xyz | 15 | 2 | def | 31 | uvw | 29 | 3 | ghi | 30 | rst | 25 | 4 | jkl | 16 | lmn | 27 | 5 | lmn | 15 | opq | 21 | 6 | opq | 14 | jkl | 16 | 7 | rst | 9 | ghi | 41 | 8 | uvw | 10 | def | 21 | 9 | xyz | 23 | abc | 19 |

我如何遍历每一行并比较访问者和主队的得分,然后用获奖者的名字更新获奖者列?

最佳答案

定期使用CASE更新会很好。

UPDATE games
  SET winner = CASE WHEN score1 > score2 THEN visitor
                    WHEN score2 > score1 THEN home
                    ELSE 'tie' END;


An SQLfiddle to test with

关于mysql - 比较主场得分和客场得分。然后用优胜者的名字(住家或外出)更新另一列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22741667/

10-12 14:17