微软访问中的INNER JOIN中的语法错误

时间:2018-04-27 15:53:23

标签: sql ms-access inner-join

此问题可能已经得到了回答,但我的搜索没有找到可行的解决方案。我试图使用内部联接从不同的表追加一个列,以允许访问这两个表。这是使用Microsoft Access,我的代码如下

SELECT Table1.* , Table2.AppendColumn
FROM Table1 INNER JOIN Table2 ON (Table1.foo = Table2.bar);

我已确保列具有相同的数据类型,并希望获得更多学习意见。

完整错误

  

"查询表达式中的语法错误' Table1.foo = Table2.ba'。

我确实希望第一个表中的所有字段只有第二个表中的一列。虽然在另一个表中没有匹配或空列,但我使用了append这个术语,因为它对于我正在做的事情似乎是准确的。这不应该是我刚刚使用"查询设计"创建的任何特殊查询。并自己编写代码

编辑 - 这个问题是由于我的封装不正确造成的,没有知道sql在列表名称的开头不喜欢数字,对不起造成混淆,并感谢所有贡献者。

1 个答案:

答案 0 :(得分:0)

您可能遇到的唯一可能的问题是,如果您的实际代码中错误地引用了某些内容。或者,如果SQL结构本身存在重大缺陷(例如隐藏的字符搞乱了)。

强烈建议检查每个表的名称以及两个内部联接列名称是否存在任何可能的参考错误。

这可能像“Table1.Foo Bar”那样挑剔,但需要是“Table1。[Foo Bar]”,因为Access不接受引用中的空格。同样适用于以数字或符号开头的任何列。

这样的事情:

SELECT Table1.* , Table2.[Append Column]
FROM Table1 INNER JOIN Table2 ON (Table1.[foo bar] = Table2.[1050])

但是现在看来,你的代码是正确的。