比较主客场得分。然后使用获胜者的名字(主页或离开)更新另一列

时间:2014-03-30 08:02:04

标签: mysql sql

我有桌上游戏

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 |

我如何迭代每一行并比较访问者和主队的分数,然后用获胜者的名字更新获胜者专栏?

1 个答案:

答案 0 :(得分:2)

使用CASE的定期更新做得很好;

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

An SQLfiddle to test with