如何将 2 个表和更新列一起加入

Posted

技术标签:

【中文标题】如何将 2 个表和更新列一起加入【英文标题】:how to join 2 table and update column the both together 【发布时间】:2016-03-22 14:54:44 【问题描述】:

表 1:

idtb1 --pk 发表 删除

表 2:

idtb2 --pk idtb1 --fk 发表 删除

如何通过命令 Update 一起更新 2 个表上的 2 列 published ,delete

【问题讨论】:

你是指一个更新声明? AFAIK 不可能 @AndyWiesendanger:是的!,^^! @avkkamsy 你试过我的解决方案了吗? 【参考方案1】:

您不能在单个语句中更新多个表

       BEGIN TRANSACTION

       update A
       set A.published =  @published
       from table1 A 
       inner join table2 B on B.idtb1 = A.idtb1

      update B
      set B.published = @published 
      from table2 B 
      inner join table1 A on B.idtb1 = A.idtb1

      COMMIT

This question already has an answer here

【讨论】:

以上是关于如何将 2 个表和更新列一起加入的主要内容,如果未能解决你的问题,请参考以下文章

PostgreSQL - 如何保持列更新

如何将 SQL 中的 2 个表与 1 个公共列组合在一起,而其他列中没有关系?

加入 3 个表以更新和插入

通过加入它们来更新多个表中的不同列

选择加入2个表和两个表的最新记录

laravel 查询 - 加入 2 个表和 groupBy 相同的 ID