it-swarm-id.com

Pernyataan bergabung berganda SQL

Ketika saya hanya memiliki satu gabung dalam pernyataan SQL saya, itu bekerja dengan sempurna. Saya mencoba bergabung dengan tabel kedua, dan sekarang saya mendapatkan kesalahan yang mengatakan ada kesalahan sintaks (operator hilang). Apa yang salah di sini?

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

Untuk penggabungan multi-tabel, Anda harus mengumpulkan gabungan tambahan di dalam tanda kurung:

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

pada dasarnya, untuk setiap tabel tambahan yang Anda gabung melewati yang pertama, Anda memerlukan braket sebelum tabel 'FROM' asli, dan braket penutup pada klausa yang cocok GABUNG.

148
Marc B

MS Access (khususnya Jet/ACE) membutuhkan tanda kurung dengan banyak gabungan. Mencoba:

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