I’m having in one table a master_id, and student_id. I want to write a query that would print out both the names of the master and student on the same line while joining their details from another table.
master student table
x
id - 1
fullname - Derek Jason
type: master
id - 2
fullname - John Mason
type: student
assignments table
id - 1
from - 1
to - 2
So I’m trying to write a query that would return the results from the assignment table like
Results
id - 1
master- Derek
student - John Manson
I’ve tried this query but I’d need help to complete it.
SELECT name AS master FROM `assignments`
LEFT JOIN master_student ON assignments.from = master_student.id
Advertisement
Answer
I suspect you just want two joins:
SELECT a.id, ms.name AS master, mt.name as student
FROM assignments a LEFT JOIN
master_student ms
ON a.from = ms.id LEFT JOIN
master_student mt
ON a.to = mt.id;
Note: from
and to
are really, really bad column names because they are SQL keywords.