SQL多连接语句

SQL多连接语句

当我的SQL语句中只有一个内部联接时,它完美地工作了。我试着加入第二个表,现在我得到了一个错误,说明存在语法错误(缺少操作符)。这里怎么了?

adsFormView.SelectCommand = "SELECT * FROM [tableCourse] INNER JOIN [tableGrade] ON [tableCourse].[grading] = [tableGrade].
[id] INNER JOIN [tableCourseType] ON [tableCourse].[course_type] = [tableCourseType].[id] WHERE [prefix]='" & 
myPrefix & "' AND [course_number]='" & myCourseNum & "'"



RISEBY
浏览 549回答 3
3回答

守候你守候我

对于多表联接,必须将额外的联接嵌套在括号中:SELECT ...FROM ((origintableJOIN jointable1 ON ...)JOIN jointable2 ON ...)JOIN jointable3 ON ...基本上,对于超过第一个表的每一个额外的表,您需要在原始的‘FROM’表之前加上一个括号,在匹配的Join‘on’子句上需要一个结束括号。

aluckdog

MS Access(特别是Jet/ACE)需要带有多个联接的括号。试着:adsFormView.SelectCommand = _    " SELECT * FROM ([tableCourse] " & _    " INNER JOIN [tableGrade] " & _    "     ON [tableCourse].[grading] = [tableGrade].[id]) " & _    " INNER JOIN [tableCourseType] " & _    "     ON [tableCourse].[course_type] = [tableCourseType].[id] " & _    " WHERE [prefix]='" & myPrefix & "'" & _    "   AND [course_number]='" & myCourseNum & "'"

肥皂起泡泡

对于习惯于使用的人来说,这是一种非直觉的“功能”。正常SQL.
打开App,查看更多内容
随时随地看视频慕课网APP