为了账号安全,请及时绑定邮箱和手机立即绑定

SQL多连接语句

SQL多连接语句

RISEBY 2019-07-11 10:11:02
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 & "'"
查看完整描述

3 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

对于多表联接,必须将额外的联接嵌套在括号中:

SELECT ...FROM ((origintableJOIN jointable1 ON ...)JOIN jointable2 ON ...)JOIN jointable3 ON ...

基本上,对于超过第一个表的每一个额外的表,您需要在原始的‘FROM’表之前加上一个括号,在匹配的Join‘on’子句上需要一个结束括号。


查看完整回答
反对 回复 2019-07-11
?
aluckdog

TA贡献1847条经验 获得超7个赞

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 & "'"


查看完整回答
反对 回复 2019-07-11
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

对于习惯于使用的人来说,这是一种非直觉的“功能”。正常SQL.

查看完整回答
反对 回复 2019-07-11
  • 3 回答
  • 0 关注
  • 548 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信