У меня есть две таблицы в MS Access, которые отслеживают фасилитаторы классов и классы, которые они облегчают. Эти две таблицы структурированы следующим образом:
tbl_facilitators
facilID -> a unique autonumber to keep track of individual teachers
facilLname -> the Last name of the facilitator
facilFname -> the First name of the facilitator
tbl_facilitatorClasses
classID -> a unique autonumber to keep track of individual classes
className -> the name of the class (science, math, etc)
primeFacil -> the facilID from the first table of a teacher who is primary facilitator
secondFacil -> the facilID from the first table of another teacher who is backup facilitator
Я не могу понять, как написать Inner Join, который подтягивает результаты в этом формате:
Column 1: Class Name
Column 2: Primary Facilitator Last Name
Column 3: Primary Facilitator First Name
Column 4: Secondary Facilitator Last Name
Column 5: Secondary Facilitator First Name
Я могу подтянуть и получить правильные результаты, если я только прошу первичный посредник сам по себе или сам запрошу вторичного посредника. Я не могу заставить их обоих работать, хотя.
Это моя работа Inner Join:
SELECT tbl_facilitatorClasses.className,
tbl_facilitators.facilLname, tbl_facilitators.facilFname
FROM tbl_facilitatorClasses
INNER JOIN tbl_facilitators
ON tbl_facilitatorClasses.primeFacil = tbl_facilitators.facilID;
Из отчаяния я также пробовал Союз, но это не сработало, как я надеялся. Ваша помощь очень ценится. Я действительно изо всех сил пытаюсь добиться прогресса на этом этапе. Я не часто работаю с SQL.
Решение
Благодаря @philipxy я придумал следующий запрос, который закончился:
SELECT tblCLS.className,
tblP.facilLname, tblP.facilFname, tblS.facilLname, tblS.facilFname
FROM (tbl_facilitatorClasses AS tblCLS
INNER JOIN tbl_facilitators AS tblP
ON tblCLS.primeFacil=tblP.facilID)
INNER JOIN tbl_facilitators AS tblS
ON tblCLS.secondFacil=tblS.facilID;
При выполнении нескольких внутренних подключений в MS Access необходимы скобки... Как описано в этом другом сообщении.