使用Join将列从一个表插入另一个表

时间:2014-03-03 16:06:19

标签: sql-server join insert

我需要从一个表到另一个表插入3列,使用JOIN 3个字段:名称,姓氏和年龄

enter image description here

我需要使用table_1

中的值更新table_2中的列状态,status1和status2
IF 

table_1.name = table_2.name
table_1.surname = table_2.surname
table_1.age= table_2.age

2 个答案:

答案 0 :(得分:1)

UPDATE t2
SET 
 t2.[status]=t1.[status]
,t2.[status1]=t1.[status1]
,t2.[status2]=t1.[status2]
FROM [table_1] t1
INNER JOIN [table_2] t2 
ON (t1.name=t2.name AND t1.surname=t2.surname AND t1.age=t2.age)

正如你在评论中提到的那样,这些表来自不同的数据库,那么请只改变两行如。

 FROM [yourDataBase1Name].[dbo].[table_1] t1
 INNER JOIN [yourDataBase2Name].[dbo].[table_2] t2

答案 1 :(得分:0)

只需使用Join更新表。 它会是这样的:

UPDATE t2
SET t2.status = t1.status,
    t2.status1 = t1.status1,
    t2.status2 = t1.status2
FROM t2 JOIN t1 on (t1.first_name = t2.first_name AND t1.last_name = t2.last_name AND t1.age = t2.age);

点击此处了解更多信息:SQL update query using joins

SQL小提琴:http://sqlfiddle.com/#!3/b3951/1