MSSQL使用表2中的条件将表2中的值插入表1中

时间:2019-05-07 09:54:40

标签: sql sql-server

我有两个表:table1table2我需要通过匹配或使用两个表中的条件将一些数据从table2迁移到table1。 我需要的是这样的:

INSERT INTO Tbl1(VAR1,VAR2)
SELECT VAR1, VAR2 
FROM Tbl2
WHERE Tbl1.Name = Tbl2.Name and Tbl1.City = Tbl2.City

我有一个示例架构here

2 个答案:

答案 0 :(得分:0)

您可以使用内部联接从两个表中选择正确的结果

  INSERT INTO Tbl1(VAR1,VAR2)
  SELECT VAR1, VAR2 
  FROM Tbl2
  INNER JOIN tbl1 ON Tbl1.Name = Tbl2.Name 
  and Tbl1.City = Tbl2.City

答案 1 :(得分:0)

似乎您不需要更新而不插入

update Tbl1

set Tbl1.VAR1= Tbl2.VAR1,
    Tbl1.VAR2= Tbl2.VAR2

FROM Tbl2 join Tbl1 
on Tbl1.Name = Tbl2.Name and Tbl1.ADDRESS = Tbl2.ADDRESS

one line demo