【问题标题】:T-SQL for merging data from one table to another用于将数据从一个表合并到另一个表的 T-SQL
【发布时间】:2010-10-17 22:15:22
【问题描述】:

假设有 2 个表 Table1 { ID, Name, Other } 和 Table2 { ID, Name, Other }。除了在 Table1 中所有 Name 值都是 NULL 之外,它们都有相同的记录和相同的 ID。如何使用 T-SQL (SQL Server 2008) 将名称值从 Table2 导入 Table1?

【问题讨论】:

    标签: sql sql-server sql-server-2008


    【解决方案1】:
    Update Table1
    Set Table1.Name = Table2.Name
    From
    Table1 INNER JOIN Table2 on Table1.ID = Table2.ID
    

    【讨论】:

    • 谢谢,我知道应该很简单 :)
    【解决方案2】:

    您正在寻找 MERGE 命令,它类似于您可能在其他地方读过的 UPSERT。这是关于它的quick article

    【讨论】:

      【解决方案3】:
      UPDATE Table1
      SET Table1.Name = Table2.Name
      FROM Table2
      WHERE Table1.Id = Table2.Id
      --AND Table1.Name IS NULL
      

      【讨论】:

        【解决方案4】:

        只需加入表格并更新:

        update t1
        set [Name] = t2.Name
        from Table1 t1
        inner join Table2 t2 on t2.ID = t1.ID
        

        【讨论】:

          猜你喜欢
          • 2020-12-13
          • 1970-01-01
          • 2018-04-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-12-13
          • 2013-03-21
          • 1970-01-01
          相关资源
          最近更新 更多