回答

收藏

SQL多重连接语句

技术问答 技术问答 119 人阅读 | 0 人回复 | 2023-09-13

当我的SQL语句中只有一个内部联接时,它可以很好地工作。我尝试加入第二张表,现在出现一个错误,提示存在语法错误(缺少运算符)。这是怎么了
; |0 g7 N9 _1 wadsFormView.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 & "'"+ L3 X! T% v9 h2 _/ x2 N
               
5 P' g/ t' f0 m( ?解决方案:
% T  T6 ~& J8 h0 b* T0 r6 C                1 F3 n' P. r; ?! }0 F- M

6 l/ |, Z) P2 {7 y; b; ~. M( i
' E9 c; s  {, [( w! v; H, e7 u' q- i0 ]                对于多表联接,您必须将多余的联接嵌套在方括号中:
0 N/ R7 r( [! a- u" c6 eSELECT .../ V) S! J6 c0 \' _6 ^! A+ }
FROM ((origintable
! S/ i; {& B$ h. Q! t9 @JOIN jointable1 ON ...)
0 b8 Y0 @5 E* Y4 NJOIN jointable2 ON ...), a% A* ]( @2 f) |1 \* r
JOIN jointable3 ON ...% {: |1 `1 K# }  ], K. A: F5 }
基本上,对于除第一个表之外的所有其他表,都需要在原始“ FROM”表之前加上一个括号,并在匹配的JOIN“ on”子句上使用一个结束括号。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则