Это мой первый раз в StackOverflow, и я изучаю SQL, но у меня проблемы с объединениями и т. Д. У меня сегодня есть задача.(Access) Sql Statement Использование 3 таблиц
Хорошо Вот таблицы:
STUDENT
Student_ID Instructor_ID Adviser_ID
2 9723 9945
7 9723 9723
8 9801 9945
17 9945 9945
19 9624 9945
21 9723 9723
INSTRUCTOR
Instructor_ID Person_ID
9624 14
9723 15
9801 11
9945 16
PERSON
Person_ID Person_First_Name Person_Last_Name
1 Jim Johnson
2 John Doe
...
11 Chuck John
...
14 Joanne Jackson
15 Steven Pruck
16 Scott Buttermilk
... (Possibly More Records)
SQL-запрос я пытаюсь получить это имя инструктора каждого студента и инструктора, который является их советник. Вот формат:
Student_ID | Instructor's First and Last Name | Adviser's First and Last Name
Также обратите внимание, что идентификатор advisor_ID совпадает с инструктором_ID. Вот что я придумал до сих пор, но идти дальше, я полагаю, мне нужно два внутренних соединений или некоторые подзапрос:
SELECT STUDENT.Student_ID, Person.person_first_name + " " + Person.person_last_name AS Instructor
FROM STUDENT AS S, PERSON AS P, INSTRUCTOR AS I
WHERE S.Instructor_ID = I.Instructor_ID
AND I.person_ID = P.person_ID
ORDER BY S.Student_ID;
EDIT: Это для базы данных Microsoft Access (на всякий случай)
Какова цель 'INSTRUCTOR' таблицы? Похоже, что отношения между учениками и преподавателями уже обрабатываются в таблице «СТУДЕНТ». –
Таблица инструкторов используется для поиска Person_ID, который вам нужен, чтобы найти имя Person в таблице Person. – JimJohnson
По-прежнему ищу правильный ответ, поскольку я не верю, что они работают на меня. – JimJohnson