回答

收藏

SQL多重连接语句

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

当我的SQL语句中只有一个内部联接时,它可以很好地工作。我尝试加入第二张表,现在出现一个错误,提示存在语法错误(缺少运算符)。这是怎么了
: X5 s0 h3 b  @! jadsFormView.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 & "'"0 C& b( V  U6 ]8 z8 i3 }
               
! r0 D) w8 U$ ]7 S: n5 W# o& K解决方案:
# n  F6 [4 v) Z5 J8 i               
; g$ x2 u. }% D; \* ~. V3 k4 l8 P0 g& [- k2 v6 W# R! F

& I7 {4 k' |' [' J' H* m- Q9 o; H( B                对于多表联接,您必须将多余的联接嵌套在方括号中:
4 p! c7 N* c( O( Y* _, y1 wSELECT ...* B# b8 n4 V4 t& K
FROM ((origintable% n: l7 @+ s$ ~+ Q
JOIN jointable1 ON ...)
3 G* R) P$ z, r* fJOIN jointable2 ON ...)( ]2 `% ]3 Z) |+ J  |
JOIN jointable3 ON ...
; e, K! E9 T4 @- O% l( C0 s" T基本上,对于除第一个表之外的所有其他表,都需要在原始“ FROM”表之前加上一个括号,并在匹配的JOIN“ on”子句上使用一个结束括号。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则