将SQL表中的值合并到第二个表中

将SQL表中的值合并到第二个表中,sql,Sql,我在SQL Server 2012中有一个主表,其中包含许多字段 我得到了一个包含新数据的excel spreadhseet,因此我首先将其导入SQL数据库中的一个新表中 新表只有两列“ID”和“Source” 新表中的ID与主表中的“ID”匹配,主表中还有一个名为“Source”的字段 我需要做的是用新表中的相应值更新主表中“Source”的值,确保两个表之间的ID匹配 现在要查询和查看所有信息,我可以使用以下- SELECT m.ID, n.Source FROM MainTable AS

我在SQL Server 2012中有一个主表,其中包含许多字段

我得到了一个包含新数据的excel spreadhseet,因此我首先将其导入SQL数据库中的一个新表中

新表只有两列“ID”和“Source”

新表中的ID与主表中的“ID”匹配,主表中还有一个名为“Source”的字段

我需要做的是用新表中的相应值更新主表中“Source”的值,确保两个表之间的ID匹配

现在要查询和查看所有信息,我可以使用以下-

SELECT m.ID, n.Source
FROM MainTable AS m
INNER JOIN NewTable AS n ON m.ID = n.ID
但我不知道如何将其转换为UPDATE语句,以便将新表中“Source”的值插入到主表中相应的列中

UPDATE 
   MainTable
SET 
   MainTable.Source = NewTable.Source
FROM
   MainTable
INNER JOIN 
   NewTable
ON 
   MainTable.ID = NewTable .ID

这应该可以做到,首先修改主表,然后:

update a
SET a.Source = b.Source
FROM MainTable a
JOIN NewTable b
 on a.ID = b.ID
你可以

UPDATE MainTable
    SET MainTable.Source = NewTable.Source
FROM NewTable
WHERE MainTable.ID = NewTable .ID

是-抱歉,更新类型语句(不是插入)-将修改问题