繁体   English   中英

SQL内部连接错误

[英]SQL Inner join error

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

难道我做错了什么?

我认为是由于括号。 此部分(INNER JOIN SecurityOptions ON SecurityOptions.Name=Logs.SecurityOption)在未(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是无效的。 通常, SO.Id = Logs.SecurityOptionId因此,它可能类似于SO.Id = Logs.SecurityOptionId

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

INNER JOIN一样的FULL JOIN 不要尝试FULL JOIN >

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM