PostgreSQL 更新 - 带有左连接问题的查询
UPDATE user
SET balance = balance + p.amount
FROM payments p WHERE user.id = p.user_id AND p.id IN (36,38,40)
但它增加到余额中的只是 1936 年第一笔付款的价值金额。 请帮助我如何修复它,我不想在代码中循环运行大量请求。
UPDATE user
SET balance = balance + p.amount
FROM payments p WHERE user.id = p.user_id AND p.id IN (36,38,40)
But it adds to the balance, only the value amount of the first payment 1936.
Please help me how to fix it, i do not want to make cycle in the code to run a lot of requests.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在多表 UPDATE 中,目标表中的每一行仅更新一次,即使连接返回多次。
来自文档:
使用这个代替:
In a multiple-table
UPDATE
, each row in the target table is updated only once, even it's returned more than once by the join.From the docs:
Use this instead: