Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Junte-se apenas para linhas específicas em que o valor corresponde a uma variável


parece que você só precisa de um LEFT JOIN para as outras tabelas, pois parece que você deseja ver todos os alunos do primeiro conjunto, independentemente de qualquer oferta/interesse de trabalho.

Em caso afirmativo... certifique-se de que as tabelas "Interesse" e "Ofertas" tenham um índice em que o ID do aluno seja um índice de elemento único ou o primeiro de um índice composto.
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

Para evitar resultados "NULL" no interesse, interesse e oferta do empregador, você pode envolvê-los em uma chamada Coalesce() como (para todas as três colunas na junção esquerda)
COALESCE( JI.Employer_Interest, " " ) Employer_Interest