我有两个表:table_1和table_2
table_1 table_2
field_1 field_2 field_3 field_4
1 a 1
2 b 4
3 c 3
4 d 2
现在我需要使用更新的查询,以便在table_2中我可以在field_4中使用以下值:
table_2
field_3 Field_4
1 a
4 d
3 c
2 b
应该通过使用table_1在单个查询中更新staement获得,这样如果table_2的field_3有1,那么filed_4的值应该等于field_2,table_1中的field_1
答案 0 :(得分:2)
在SQL Server中,它将是:
UPDATE table_2
set field_4 = t1.field_2
from table_2 t2
inner join table_1 t1
on t1.Field1 = t2.Field_3
这假设field_1是主键(具有唯一值)。 table_1中找不到table_2中的任何内容都不会更新。表2中的重复field_3值将被正确设置。
答案 1 :(得分:0)
是的,既然你把桌子别名了,我认为他是对的。正确答案是:
UPDATE t2
SET field_4 = t1.field_2
FROM table_2 t2
INNER JOIN
table_1 t1
ON t1.Field1 = t2.Field_3