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

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

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

难道我做错了什么?

4

2 回答 2

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以找出这两个表是如何相互关联的。

于 2011-01-18T13:30:16.700 回答
-4

INNER JOIN不一样。_ 不要尝试>FULL JOINFULL JOIN

于 2011-01-18T13:30:36.053 回答