【问题标题】:Update Inner Join in MS SQL Server different from MySQL?在不同于 MySQL 的 MS SQL Server 中更新内部联接?
【发布时间】:2019-06-25 12:59:08
【问题描述】:

我正在尝试根据唯一标识符从表 B 中的数据填充表 A 中的列(仅用于匹配记录。我在使用 MySQL 4 年后才开始使用 MS SQL Server。在 MySQL 中,这将本质上是:

update TableA a
inner join TableB b
on a.IDColumn = b.IDColumn
set a.ColumnIWant = b.ColumnIWant

我已经尝试了许多不同的变体,但它们都不起作用... MS SQL Server Management Studio 中的语法有很大不同吗?可以使用别名吗?任何帮助将不胜感激。

update TableA a
inner join TableB b
on a.IDColumn = b.IDColumn
set a.ColumnIWant = b.ColumnIWant

【问题讨论】:

    标签: mysql sql sql-server inner-join


    【解决方案1】:

    您不能直接内部联接到更新表。语法是

    Update tableA
    Set x = y
    From tableA
    Join tableB ...
    Where ...
    

    【讨论】:

      【解决方案2】:
      update a
      set a.ColumnIWant = b.ColumIWant
      from TableA a
      inner join TableB b
      on a.IDColumn = b.IDColumn
      

      【讨论】:

      • 很高兴帮助@Ian!请将此标记为正确答案:)
      猜你喜欢
      • 2011-12-23
      • 2011-03-28
      • 2012-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-12
      • 1970-01-01
      • 2012-10-04
      相关资源
      最近更新 更多