如何在一个查询中增加具有不同值的不同行 SQL?
How to Increment different rows with different values in one query SQL?
这是我的 user_wallets
table:
id
余额
一个
70
B
40
我想在单个查询中增加用户 A 的余额 30
和用户 B 的余额 10
。
而且我想知道在 TypeORM 中是否可行。 ( raw SQL 对我也有用)
提前致谢。
您可以这样使用 values
:
update t
set t.balance = t.balance + v.inc
from (values ('A', 30), ('B', 10)) v(user, inc)
where t.user = v.user;
将所有更改放在 values()
中使查询易于维护(例如,添加新用户)。它也比大的 case
表达式简单得多。 和 where
子句仅过滤到正在更改的行。
这是我的 user_wallets
table:
id | 余额 |
---|---|
一个 | 70 |
B | 40 |
我想在单个查询中增加用户 A 的余额 30
和用户 B 的余额 10
。
而且我想知道在 TypeORM 中是否可行。 ( raw SQL 对我也有用)
提前致谢。
您可以这样使用 values
:
update t
set t.balance = t.balance + v.inc
from (values ('A', 30), ('B', 10)) v(user, inc)
where t.user = v.user;
将所有更改放在 values()
中使查询易于维护(例如,添加新用户)。它也比大的 case
表达式简单得多。 和 where
子句仅过滤到正在更改的行。