Access 中的“不支持连接表达式”

Posted

技术标签:

【中文标题】Access 中的“不支持连接表达式”【英文标题】:"join expression not supported" in Access 【发布时间】:2013-05-17 11:50:55 【问题描述】:

我正在编写一个带有内部连接的 SQL 查询

select * from (table1 inner join table2 on table1.city = table2.code)
   inner join table3 on table3.col1 = 5 and table3.col2 = 'Hello'

这给了我错误“不支持连接表达式”。

但是,如果我像这样更改查询,则没有错误

select * from (table1 inner join table2 on table1.city = table2.code)
   inner join table3 on table3.col1 = [SomeColumn] and table3.col2 = [SomeColumn]

为什么 Access 在第一次查询时给我一个错误?

【问题讨论】:

【参考方案1】:

很晚了,但我在 MS Access 上遇到了类似的 JOIN 表达式问题,就像描述的 here Access 有时需要查询的 ON 部分内的所有内容都在括号内,即:

SELECT ... JOIN <table> ON (everything here inside the parenthesis) WHERE ...

【讨论】:

这个!!谢谢。 这是真正的答案。 聚会迟到了,但这应该是公认的解决方案。 如果这仍然不起作用?一直告诉我它仍然不受支持。【参考方案2】:

为什么 Access 在第一次查询时给我一个错误?

好吧,就像错误消息所说的那样,不支持这种形式的 JOIN 表达式。

您可能想尝试以下方法:

SELECT * FROM table1, table2, table3 
WHERE table1.city=table2.code AND table3.col1=5 AND table3.col2='Hello'

【讨论】:

嗯,这是一个替代解决方案,而不是使用连接,如果有更多的表将无济于事,但在这种情况下工作,谢谢

以上是关于Access 中的“不支持连接表达式”的主要内容,如果未能解决你的问题,请参考以下文章

SQL - 不支持连接表达式

Access 2016 中表达式中的日期语法错误

Access 中的表达式在 Excel 中未正确显示

Access 2010:查询表达式中的语法错误(缺少运算符)

条件表达式 Oledb Access 数据库中的数据类型不匹配

尝试插入 Access 数据库时,条件表达式中的数据类型不匹配错误