Nice programing

SQL 다중 결합 문

nicepro 2020. 11. 3. 19:13
반응형

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

다중 테이블 조인의 경우 추가 조인을 괄호 안에 중첩해야합니다.

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

기본적으로 첫 번째를 지나서 조인하는 모든 추가 테이블에 대해 원래 'FROM'테이블 앞에 대괄호가 필요하고 일치하는 JOIN 'on'절에 닫는 대괄호가 필요합니다.


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

참고 URL : https://stackoverflow.com/questions/7854969/sql-multiple-join-statement

반응형