昨天,stackoverflow 的一名成员帮助我用另一个表中的案例更改了数据库中的表。但我还需要输入一个条件,不知道该放在哪里。我有这两张表:
联赛
uid | name | games | points |
___________________________________
1 | Daniel | 0 | 0 |
2 | Mikkel | 0 | 0 |
和kamp2:
uid | k1 | k1r | k2 | k2r | week |
__________________________________________________
1 | 1 | 2-1 | X | 2-2 | 14 |
2 | 2 | 1-1 | 1 | 2-1 | 14 |
对于那些还没有得到它的人来说,这是一个投注游戏,用户对 2 场比赛(k1 和 k2)进行投注,并对两者的结果进行投注(k1r 和 k2r)。 假设第一场比赛是 2-1,我使用:
UPDATE liga l JOIN
kamp2 k
ON l.uid = k.uid
SET point = (CASE WHEN k.k1 = '1' and k.k1r = '2-1' THEN point + 5
WHEN k.k1r = '2-1' AND k.k1 <> '1' THEN point + 3
WHEN k.k1 = '1' AND k.k1r <> '2-1' THEN point + 1
ELSE point
END)
WHERE l.uid = k.uid ;
而且它工作得很好。 丹尼尔得到 5 分,米克尔得到 3 分。但现在我的问题来了。下周他们将发送另一个投注,周数为 15。所以我实际上只是想要它
UPDATE liga l JOIN
kamp2 WHERE k.week = 15
......
但它不允许这样做。那我应该把条件放在哪里呢?
最佳答案
我不知道我是否理解你的问题,但你可以使用
l.uid = k.uid and k.week = 15
或
where(case1,case2)
最后一个方法是自己的mysql。
关于php - CASE 中的多个 WHERE 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43246673/