[英]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.