SQL内部连接错误

时间:2011-01-18 13:26:13

标签: java sql javadb

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

这是我用来从数据库中获取数据的sql字符串,ODBC Bridge为我提供了下一个错误[Microsoft][ODBC Microsoft Access Driver] Syntax error in FROM clause

如果它没有给我这个错误,它会给我INNER JOIN isn't supported,有时Syntax Error

我做错了吗?

2 个答案:

答案 0 :(得分:3)

我认为这是因为括号。正在对此部分(INNER JOIN SecurityOptions ON SecurityOptions.Name=Logs.SecurityOption)进行评估,导致您出现问题。

删除括号应该修复它:

SELECT CommitTime 
FROM Logs L
INNER JOIN SecurityOptions SO
    ON SO.Name = L.SecurityOption
WHERE SO.ID=22

修改

但是,从列的名称来看,我似乎并不喜欢JOIN是有效的。通常,连接基于Ids - 因此,它可能类似于SO.Id = Logs.SecurityOptionId

我认为您应该在MS Access中使用查询设计器 - 只需拉入表格,如果定义了关系,它们就会立即显示出来。如果它们没有出现,那么你必须查看INSERTs来弄清楚这两个表是如何相互关联的。

答案 1 :(得分:-4)

INNER JOIN FULL JOIN相同。 不要尝试FULL JOIN>