Подтвердить что ты не робот

MySQL заменяет внешний ключ в таблице результатов данными из таблицы FK

У меня есть таблица вроде этого:

id (PK)   name    teacher (FK)    student (FK)
   1      Ron         3               6

Оба учителя и ученика находятся в другой таблице с именем people.

 people
 id (PK)   name   age
    3      Ali    42
    6      Jon    12

Я хотел бы выполнить запрос, чтобы получить следующий

name    teacher name   student name
 Ron         Ali              Jon

Возможно ли это? Я знаю, что могу выполнять два отдельных объединения, но потом я остаюсь с двумя строками, и нет указаний на то, какое имя является учителем и которое является учеником

4b9b3361

Ответ 1

select t.name, p1.name teacher_name, p2.name student_name 
       from t
left join people p1 on (t.teacher=p1.id)
left join people p2 on (t.student=p2.id)

Ответ 2

Попробуйте следующее:

SELECT a.name, b.name 'teacher name', c.name 'student name'
FROM mainTablle a 
LEFT JOIN people b ON a.teacher = b.id 
LEFT JOIN people c ON a.student = c.id 
WHERE a.id = 1;