【问题标题】:How to update the record from another table如何从另一个表更新记录
【发布时间】:2012-04-05 05:34:13
【问题描述】:

表1

ID     Loc
-----------
001    null
002    null
003    PYD
004    null
....

表2

ID     Loc
-----------
001    TMB
002    null
003    PYD
004    SHD
....

我想从 table2 更新 table1。我需要这样的东西:

update table1 set LoC = Select LoC from table2

以及预期的输出:

表1

ID     Loc
-----------
001    TMB
002    null
003    PYD
004    SHD
....

如何从 table2 更新 table1?

【问题讨论】:

  • 为什么删除了 sql-server-2000 标签?这个问题不是针对 sql-server-2000 的吗?

标签: sql sql-server sql-update


【解决方案1】:

尝试类似:

update t
 set t.loc = t2.loc
 from table1 t
 inner join table2 t2 on t.id =t2.id

【讨论】:

    【解决方案2】:
    update table1 set LoC = (Select LoC from table2 where table2 .ID =  table1 .ID)
    

    【讨论】:

      【解决方案3】:

      这是你需要的吗?

      update table1
      set Loc = t2.Loc
      from table1 t1 join table2 t2
         on t1.ID = t2.ID
      

      【讨论】:

        【解决方案4】:
        update table1
        set Loc = table2.Loc
        from table2
        where table1.ID = table2.ID
        

        【讨论】:

          【解决方案5】:

          您可以使用连接。

          update t1 set t1.Loc=t2.Loc
          From Table1 t1 inner join Table2 t2
          on t1.Id=t2.Id
          

          【讨论】:

          • 加入需要on,而不是where子句。
          猜你喜欢
          • 2018-08-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多