【问题标题】:Two INNER JOIN ODBC MSAccess exception with query两个 INNER JOIN ODBC MSAccess 异常与查询
【发布时间】:2014-04-25 09:56:08
【问题描述】:

我有一个问题.. 我想从 c# 应用程序使用 odbc 到 msAccess 连接到我的数据库。我有异常错误。请我的查询...它应该可以工作,但显然我在这里做错了事情..

ERROR [42000] [Microsoft][ODBC Microsoft Access Driver] 语法错误 查询表达式中的(缺少运算符) '[autoResults].[autoStats]=[autoStats].ID INNER JOIN [users] ON [users].ID=[autoStats].userID


string queryString =@"
SELECT [erNumber].[autoResults],
[passedTesting].[autoResults],
[releaseVersion].[autoStats],
[lastFunction].[autoResults],
[startTime].[autoStats],
[Name].[users]
FROM [autoStats] 
INNER JOIN [autoResults] 
 ON [autoResults].[autoStats]=[autoStats].ID
INNER JOIN [users]
 ON [users].ID=[autoStats].userID
WHERE [erNumber].[autoResults] LIKE '" + TextBox1.Text + "'";

【问题讨论】:

    标签: sql ms-access inner-join


    【解决方案1】:

    对多个 JOIN 的访问可能很繁琐,并且通常需要将它们括在括号中。所以不是

    FROM [autoStats] 
    INNER JOIN [autoResults] 
     ON [autoResults].[autoStats]=[autoStats].ID
    INNER JOIN [users]
     ON [users].ID=[autoStats].userID
    

    试试

    FROM 
        (
            [autoStats] 
            INNER JOIN 
            [autoResults] 
                ON [autoResults].[autoStats]=[autoStats].ID
        )
        INNER JOIN 
        [users]
            ON [users].ID=[autoStats].userID
    

    【讨论】:

    • 据我所知,当您有多个 JOIN 时,JET 总是需要括号
    • 谢谢!但是..这样我得到了以下.. > 错误 [07002] [Microsoft][ODBC Microsoft Access Driver] 参数太少。预期 6. 对此有什么解决方案吗?我尝试用 ( ) 分隔 INNER JOINS,但它仍然无法正常工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-17
    • 1970-01-01
    • 2017-12-21
    • 2017-05-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多