Java SQL内部联接错误

Java SQL内部联接错误,java,sql,javadb,Java,Sql,Javadb,这是我用来从数据库获取数据的sql字符串,ODBC桥在from子句中给我下一个错误[Microsoft][ODBC-Microsoft-Access-Driver]语法错误 如果它没有告诉我这个错误,它会告诉我,内部连接不受支持,有时还出现语法错误 我做错什么了吗?我想是因为括号。此部分(内部联接安全选项 在SecurityOptions.Name=Logs.SecurityOption)上,将被计算为未关联的表,这将导致您的问题 删除括号应该可以修复它: SELECT CommitTime

这是我用来从数据库获取数据的sql字符串,ODBC桥在from子句中给我下一个错误
[Microsoft][ODBC-Microsoft-Access-Driver]语法错误

如果它没有告诉我这个错误,它会告诉我,
内部连接不受支持
,有时还出现
语法错误


我做错什么了吗?

我想是因为括号。此部分
(内部联接安全选项
在SecurityOptions.Name=Logs.SecurityOption)上,
将被计算为未关联的表,这将导致您的问题

删除括号应该可以修复它:

SELECT CommitTime 
FROM Logs 
(INNER JOIN SecurityOptions 
    ON SecurityOptions.Name=Logs.SecurityOption) 
WHERE SecurityOption.ID=22
编辑:

然而,从列的名称来看,我觉得连接不是有效的。通常,连接是基于Id的-因此,它可能类似于
SO.Id=Logs.SecurityOptionId


我认为您应该在MS Access中使用查询设计器—只要将表拉入,如果定义了关系,它们就会立即显示出来。如果它们没有出现,那么您必须查看
插入项
,找出这两个表之间的关系。

内部联接
完全联接
不同不要尝试
完全加入

在我尝试了您的修复后,确定我的错误更改为中的类型不匹配expression@Swine那么,什么类型是
SecurityOptions.name
,什么类型是
Logs.SecurityOption
?是的,我已经找到了为什么我会出现这个错误,我以为它们是同一类型的Access我忘了检查类型
内部联接
完全联接
非常不同。如果以太表中有匹配项,则完全联接返回匹配项;如果两个表中都有匹配项,则内部联接返回匹配项。是的,这就是内部联接和联接。抱歉弄错了
SELECT CommitTime 
FROM Logs L
INNER JOIN SecurityOptions SO
    ON SO.Name = L.SecurityOption
WHERE SO.ID=22