0
我有一个名为Funds的表我想更新每个ClientId列的Amount Amount by Amount + 2列的每一行。有效更新MySql中的多行
选择标准是来自表BetsPlaced的每个ClientId,它可以包含一个ClientId的多行。当我运行以下sql时,每个ClientId的Funds表更新但只有一次。我该如何制定SQL,以便在发生每笔交易时进行交易?
例如,客户端ID 22133金额在基金表中设置为500英镑。
ClientId 22133的BetsPlaced表中有10行,一行代表金额2,因此更新应将金额设置为金额+ 2,但执行10次并将金额设置为520英镑。
update Funds
set Amount=Amount+2,
LastUpdated=now()
where ClientId in (
select x.ClientId from (
select b.ClientId from betsplaced b
) as x
);
道歉,如果有任何不明之处,欢迎进一步解释。我已经通过为BetsPlaced中的所有行运行while循环来得到它,但它很慢,我希望一些智能sql代码可以更快地运行它。
绝对精彩爵士!我很感激。它几乎在需要我按下按钮的同一时间运行!谢谢 –
乐意提供帮助。干杯!我不是一个先生虽然;) –
嗨 - 我不知道我是否可以再次麻烦你。我有一个积累的价值观,我想展示到最接近的1000,直到它达到下一个千年。因此,1800的值应该默认为1000,所以1999年,但2001年,2022年,2100年应该默认为2000年。当我使用循环命令-3时,它向上推500以上的任何东西。我运行的SQL是下一个评论: –