sql - 带有连接的 Postgresql 更新

标签 sql postgresql join sql-update

我想加入 2 个表并根据第二个表的指定值更新第一个表的值。我使用其他解决方案失败了。

UPDATE customers
SET cutoffstop = cutoffstop + '432000'
FROM customers as c
JOIN bluemedia as b ON c.id = b.customerid
WHERE b.orderid = '217201807'

最佳答案

一般更新语法:

[ WITH [ RECURSIVE ] with_query [, ...] ]
UPDATE [ ONLY ] table [ [ AS ] alias ]
    SET { column = { expression | DEFAULT } |
          ( column [, ...] ) = ( { expression | DEFAULT } [, ...] ) } [, ...]
    [ FROM from_list ]
    [ WHERE condition | WHERE CURRENT OF cursor_name ]
    [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]

解决你的问题:

UPDATE customers AS c
SET cutoffstop = cutoffstop + 432000
FROM bluemedia as b
WHERE c.id = b.customerid
AND b.orderid = '217201807'

有关 UPDATE 语法的更多信息,请访问以下链接:

https://www.postgresql.org/docs/current/static/sql-update.html

关于sql - 带有连接的 Postgresql 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49530493/

相关文章:

sql - 对于 XML 长度限制

postgresql - 将时间间隔添加到记录创建触发器的时间戳

java - 在 Postgres 数据库中使用 ArrayList 成员保存 POJO

shell - 如何使用Unix连接获取外连接中的所有字段?

sql - 更新联接不更新与等效选择相同的行数

php - 使用 UNION JOIN 从多个用户类型中选择项目

sql - (Postgresql更新查询不返回

python - 自然连接实现 Python

sql - 更新和替换字符串的一部分

python - 从 executemany 语句中获取 'return' d 值