0

私はこのようなテーブルを持っています

id |ゲームID| player_id| 勝者
----------------------------
 1 | 1 | 1 |    
 2 | 1 | 2 |
 3 | 1 | 3 |
 4 | 1 | 4 |

私は game_id と勝者 id を持っています。勝者を 1 に、敗者を 0 に更新したいです。

UPDATE tournament SET winner = '1' WHERE game_id= 1 AND  player_id = 1

それから

UPDATE tournament SET winner = '0' WHERE game_id= 1 AND  player_id != 1

出力

id |ゲームID| player_id| 勝者
----------------------------
 1 | 1 | 1 | 1
 2 | 1 | 2 | 0
 3 | 1 | 3 | 0
 4 | 1 | 4 | 0

単一のクエリを使用してそれを行う方法を誰か教えてもらえますか

4

2 に答える 2

2
UPDATE tournament SET winner = IF(player_id = 1, '1', '0') WHERE game_id= 1
于 2013-03-18T21:00:02.273 に答える
0

クエリ

SQLFIDDLE例

UPDATE tournament 
SET winner = CASE WHEN player_id = 1
                  THEN '1'
                  ELSE '0'END
WHERE game_id= 1
于 2013-03-18T21:47:43.737 に答える