【发布时间】:2012-09-05 13:51:30
【问题描述】:
我有一个拉回 50 行的查询(这是正确的):
select * from [Review Results], [Specialist Name Table]
where [Authorizer Manager Name] = 5
and [Specialist Name Table].[Penson Analyst] = TRUE
and [Review Results].[Authorizer Name] = [Specialist Name Table].[ID]
我正在尝试从上述内容中进行更新查询,但我似乎无法正确理解。这是我正在使用的查询,但它想要更新 461 行而不是 50 行:
update
[Review Results] e
INNER JOIN [Specialist Name Table] s ON e.[Authorizer Name] = s.[ID]
set e.[Authorizer Manager Name] = 5
where s.[Penson Analyst] = TRUE
有人可以帮忙吗?
【问题讨论】:
-
第一个查询获取所有具有
Authorizer Manager Name = 5的记录,第二个查询将Authorizer Manager Name的所有值设置为5 对于每个具有相应Specialist的记录,其中Penson Analyst是是的。 -
在第一个中,您的 WHERE 子句中还有一个条件:“[Authorizer Manager Name] = 5”,但在第二个中,您在 SET 子句中使用它...所以当然会返回更多行进行更新...
标签: sql ms-access sql-update