我有两个表, users_steam 和投注。
在 users_steam 我保存用户数据:
现在的问题是 - 我应该做什么查询来增加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 (我认为它忽略了一行)
感谢您的帮助。
答案 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。