我需要从一个表到另一个表插入3列,使用JOIN 3个字段:名称,姓氏和年龄
我需要使用table_1
中的值更新table_2中的列状态,status1和status2IF
table_1.name = table_2.name
table_1.surname = table_2.surname
table_1.age= table_2.age
答案 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