zní to, jako byste potřebovali LEFT JOIN k ostatním stolům, protože to vypadá, že chcete vidět všechny studenty z první sady bez ohledu na jakoukoli pracovní nabídku/zájem.
Pokud ano... zajistěte, aby tabulky "Zájem" i "Nabídky" měly index, kde ID studenta je buď index jednoho prvku, nebo první index složeného indexu.
select STRAIGHT_JOIN
ORS.Student_ID,
ORS.First_Name,
ORS.Last_Name,
ORS.Class,
ORS.Rank,
JI.Employer_Interest,
JI.Interest,
OFR.Employer_Offer
from
OriginalResultSet ORS
LEFT JOIN Interest JI
ON ORS.Student_ID = JI.Student_ID
AND JI.Employer_Interest = YourPHPVariable
LEFT JOIN Offers OFR
on JI.Student_ID = OFR.Student_ID
AND JI.Employer_Interest = OFR.Employer_Offer
Abyste zabránili tomu, že „NULL“ povede k zájmu, zájmu a nabídce zaměstnavatele, můžete je zabalit do volání Coalesce(), jako je (pro všechny tři sloupce vlevo připojit)
COALESCE( JI.Employer_Interest, " " ) Employer_Interest