【发布时间】:2015-03-08 17:08:47
【问题描述】:
我正在尝试进行更新查询(使用 Access 2013),该查询根据存储在两个单独的链接表中的值计算值。这是我正在使用的代码:
UPDATE tblCreatures
INNER JOIN tblRole ON tblCreatures.Role = tblRole.RoleName
INNER JOIN tblRank ON tblCreatures.Rank = tblRank.RankName
SET tblCreatures.HP = ((tblRole.Level_0_HP + (tblCreatures.NominalLevel * tblRole.BonusHP)) * tblRank.HP_Multiplier);
这给了我一个语法错误,说
Syntax error (missing operator) in query expression "tblCreatures.Role = tblRole.RoleName INNER JOIN tblRank ON tblCreatures.Rank = tblRank.RankNam"
(是的,它切断了 RankNam,而不是 RankName)
测试一下,如果我删除了一个内部联接(因此删除了对该表的所有引用),那么更新查询就可以正常工作,但是如果我将另一个内部联接放回去,我会不断收到相同的语法错误.我不明白为什么...我应该能够将两个内部连接放在一起,不是吗?
【问题讨论】:
-
再一次,如果我取出第二个内部联接,此更新工作得非常好。只有当我同时使用两个内部连接时才会出错。
标签: sql ms-access join inner-join ms-access-2013