根据另一张表中的值更新一张表
Posted
技术标签:
【中文标题】根据另一张表中的值更新一张表【英文标题】:UPDATE one table based on values in another table 【发布时间】:2013-11-08 20:05:49 【问题描述】:我有两个表,表 1 有三个字段 (a1,a2,a3),表 2 有三个字段 (b1,b2,b3) 我想在 a1=b1 时根据表二更新表一。这是 Microsoft Access 中的文章,但我想在 Microsoft Access 项目 Sql server 2005 中作为后端。
UPDATE t1
SET a1 = t2.b1, a2 = t2.b2, a3 = t2.b3
where a1=b1
【问题讨论】:
【参考方案1】: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,无论 t1
和 t2
是本机 Access 表、指向 SQL Server 表的链接还是这两种类型的混合,都应该在 MS Access 中工作。
【讨论】:
【参考方案2】:为 SQL Server 尝试以下操作:
UPDATE t1
SET a1 = t2.b1, a2 = t2.b2, a3 = t2.b3
FROM t1
INNER JOIN t2 ON t1.a1 = t2.b1
【讨论】:
create PROCEDURE [dbo].[t122] AS BEGIN UPDATE t1 SET a2 = t2.b2, a3 = t2.b3,a1 = t2.b1 FROM t1 inner join t2 on t1.a1=t2 .b1 其中 a1 = t2.b1 结束以上是关于根据另一张表中的值更新一张表的主要内容,如果未能解决你的问题,请参考以下文章