sql - 如何在一个查询SQL中使用不同的值增加不同的行?

标签 sql postgresql typeorm

这是我的user_wallets表:

<表类=“s-表”> <标题> id 余额 <正文> 一个 70 B 40

我想用 30 增加用户 A 的余额用户B的余额为10在单个查询中。

我想知道在 TypeORM 中是否可行。 (原始 SQL 也能帮我解决问题)

提前谢谢您。

最佳答案

您可以像这样使用:

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 子句仅筛选出正在更改的行。

关于sql - 如何在一个查询SQL中使用不同的值增加不同的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67811499/

相关文章:

mysql - 我无法检索大于或等于 Sql 中特定日期的日期。

java - orphanRemoval 在 PostgreSQL 中工作但在 hsqldb 中不起作用

mysql - 类型 'Cannot update entity because entity id is not set in the entity.'

typeorm - 如何删除自动生成的 UUID 中的破折号 (-) - typeorm

java - 使用 JDBC 处理可能出现的死锁的最佳方法

SQL - 返回编号最高的标题

database - pgAdmin - 角色 "my username"的连接太多

sql - 无法实现外键约束 »FK_0e4022833a9efc062c01637e552« - 复合主键有问题?

c# - 错误 : No mapping exists from object type

postgresql - 在 docker postgres 容器中导入 postgres 数据库