Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Dołącz tylko dla określonych wierszy, w których wartość pasuje do zmiennej

brzmi to tak, jakbyś potrzebował LEFT JOIN do innych tabel, ponieważ wygląda na to, że chcesz zobaczyć wszystkich uczniów z pierwszego zestawu, niezależnie od oferty pracy/zainteresowania.

Jeśli tak, upewnij się, że obie tabele „Zainteresowania” i „Oferty” mają indeks, w którym identyfikator ucznia jest albo indeksem jednoelementowym, albo najpierw indeksem złożonym.

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

Aby zapobiec wynikom „NULL” w zainteresowaniu pracodawcy, zainteresowaniu i ofercie, możesz umieścić je w wywołaniu Coalesce(), takim jak (dla wszystkich trzech kolumn przy łączeniu po lewej stronie)

COALESCE( JI.Employer_Interest, " " ) Employer_Interest


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Limit wyników MySQL na kategorię

  2. Zamykanie połączenia MySQL w PHP

  3. Wybierz tylko najnowsze zgrupowane wpisy

  4. zapytanie mysql:SELECT DISTINCT kolumna1, GROUP BY kolumna2

  5. SECOND() Przykład – MySQL