MySQL - 根据其他表更新用户的数据

时间:2016-02-29 16:49:06

标签: mysql

我有两个表, users_steam 投注
users_steam 我保存用户数据: enter image description here

投注中我保存了玩家的赌注(它只是一小部分):
enter image description here

现在的问题是 - 我应该做什么查询来增加2倍" 下注"表格中的字段下注到用户" 硬币" users_steam 表中的字段IF" "是4?

在这种情况下,硬币字段应包含 600000 (100000x2 + 100000x2 + 100000x2)

这是我到目前为止所尝试的:

UPDATE users_steam AS p
JOIN bets AS n ON p.steamid = n.steamid
SET n.complete = 1, p.coins = p.coins + n.bet*2
WHERE n.horse = 4;

但它会更新"硬币"字段 400000 (我认为它忽略了一行)

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我们可以使用内部查询来获得总和并将其乘以2,如下所示:

 update users_steam
 set coins = (
 select sum(bet)*2 from bets 
 where bets.steamid = users_steam.steamid
 and bets.horse = 4
);

这是SQL Fiddle