在OleDb SQL查询中使用两个内连接

4
我将翻译为:

我正在尝试使用OleDbCommand在Access数据库(.accdb)中进行SQL查询。

虽然这个命令可以正常工作(在中):

string command =
   "SELECT cred.* " +
   "FROM TB_CREDENTIALS cred " +
   "INNER JOIN TB_REL_USERS_CREDENTIALS rel ON cred.CRED_ID = rel.REL_USR_CRED_CRED_ID ";

这个不行,我不明白为什么(我看到的所有示例都使用完全相同的语法):
string command =
   "SELECT cred.* " +
   "FROM TB_CREDENTIALS cred " +
   "INNER JOIN TB_REL_USERS_CREDENTIALS rel ON cred.CRED_ID = rel.REL_USR_CRED_CRED_ID " +
   "INNER JOIN TB_USERS usr ON usr.USR_ID = rel.REL_USR_CRED_USER_ID ";

给出的异常信息如下:System.Data.OleDb.OleDbException

查询表达式中的语法错误(缺少运算符)'cred.CRED_ID = rel.REL_USR_CRED_CRED_ID INNER JOIN TB_USERS usr ON usr.USR_ID = rel.REL_USR_CRED_USER_I' (消息在此处被截断)

版本和细节如下:
  • 数据库是使用Access 2010创建的.accdb文件
  • 连接是使用System.Data.OleDb.OleDbConnection在C#中创建的
  • 连接提供程序是"Microsoft.ACE.OLEDB.12.0"
(这似乎是一个无用的查询,但当然我会添加WHERE usr.SOME_FIELD = some_condition

如果我的回答对您有帮助,请验证一下。 - GeorgiG
当然可以 :) -- 等待时间限制。 - Daniel Möller
对不起,你是正确的!谢谢。我是新来回答问题的。 - GeorgiG
1个回答

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接