使用Join时访问语法错误

时间:2014-05-06 23:51:00

标签: sql ms-access join ms-access-2007

我有两张桌子(会员和现在)我只需要确保会员中没有人真正在现在。两个表都有不同的结构,但可以在firsname,lastname和postalcode上加入。

所以我尝试了这个(在访问中)

SELECT Members.Prenom, Members.Nom, Members.Adresse, Members.[Adresse 2], Members.ville, Members.Province, Members.CodePostal
FROM Members
Left JOIN now ON (members.prenom = now.firstname AND members.nom = now.lastname
AND members.codepostal = now.postcode) WHERE now.id IS NULL

它给了我一个很棒的错误信息

  

无效使用'。' ' '或'()'。在查询表达式

有人可以告诉我我做错了什么吗?

1 个答案:

答案 0 :(得分:1)

非常确定你不能使用'now'作为表名,MS Access需要某些保留字(在本例中为函数Now(),我猜错误信息告诉你错过了parentesis'() )。您可以尝试将其封装在方括号中,但我强烈建议您更改表名。我使用的一种有用的格式是为tblTableNameqryQueryNamerptReportNamefrmFormName等对象添加前缀,但任何对您有用的内容都可以。

SELECT Members.Prenom, Members.Nom, Members.Adresse, Members.[Adresse 2], 
    Members.ville, Members.Province, Members.CodePostal
FROM Members
Left JOIN [now] a ON (members.prenom = a.firstname AND members.nom = a.lastname
AND members.codepostal = a.postcode) WHERE a.id IS NULL