postgresql 两表关联更新操作
我就废话不多说了,大家还是直接看代码吧~
UPDATE要更新的表 SET字段1=cqt.字段1, 字段2=cqt.字段2, FROM 数据来源表cqt WHERE 要更新的表.bsm=cqt.bsm
补充:Postgresql连表更新字段语法update
下面这段sql本来目的是想更新条件下的数据,可是这段sql却更新了整个表的数据。sql如下:
UPDATEtops_visa.visa_order SETop_audit_abort_pass_date=now() FROM tops_visa.visa_orderast1 INNERJOINtops_visa.visa_visitorast2 ONt1.ID=t2.order_id WHERE t1.op_audit_abort_pass_dateISNULL AND( t2.STATE='pch_abort_op_audit_pass' ORt2.STATE='pvd_abort_op_audit_pass' )
正确的写法有多种,如下方法也能够实现正确的数据库修改:
UPDATEtops_visa.visa_orderast1 SETop_audit_abort_pass_date=now() FROM tops_visa.visa_visitorASt2 WHERE t1.ID=t2.order_id ANDt1.op_audit_abort_pass_dateISNULL AND( t2.STATE='pch_abort_op_audit_pass' ORt2.STATE='pvd_abort_op_audit_pass' )
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。