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

时间:2014-01-15 16:39:51

标签: sql

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

我已经获得了一个包含新数据的excel spreadhseet,因此我在第一个实例中将其导入到SQL数据库中的新表中。

新表只有两列'ID'和'Source'。

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

我需要做的是使用新表中的相应值更新Master表中'Source'的值,确保匹配两个表之间的ID。

现在查询并查看所有信息,我可以使用以下内容 -

SELECT m.ID, n.Source
FROM MainTable AS m
INNER JOIN NewTable AS n ON m.ID = n.ID

但我不知道的是如何将其转换为UPDATE语句,以便将新表中“Source”的值插入到主表的相应列中。

3 个答案:

答案 0 :(得分:1)

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

应该做的伎俩

答案 1 :(得分:1)

你可以做到

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

答案 2 :(得分:0)

首先改变你的主表,然后:

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