根据另一个表中的值更新一个表

时间:2013-11-08 20:05:49

标签: sql-server sql-server-2005 ms-access

我有两个表,表1有三个字段(a1,a2,a3),表2有三个字段(b1,b2,b3)我想在a1 = b1时更新表二的表。这是微软访问的文章,但我想在Microsoft Access项目Sql server 2005中作为后端。

UPDATE  t1
SET  a1 = t2.b1, a2 = t2.b2, a3 = t2.b3
where a1=b1

2 个答案:

答案 0 :(得分:2)

INNER JOIN表格。那么您将不需要SET t1.a1=t2.b1,因为根据连接条件,它们已经相等。所以只需SET其他两个字段值......

UPDATE t1 INNER JOIN t2
ON t1.a1=t2.b1
SET t1.a2 = t2.b2, t1.a3 = t2.b3

请注意,此建议是Access SQL,无论t1t2是本机访问表,SQL Server表的链接还是两种类型的混合,都应该可以在MS Access中运行。

答案 1 :(得分:0)

对SQL Server尝试以下操作:

UPDATE t1 
   SET a1 = t2.b1, a2 = t2.b2, a3 = t2.b3
FROM t1
   INNER JOIN t2 ON t1.a1 = t2.b1