sql >> Databáze >  >> RDS >> Mysql

Připojit pouze pro konkrétní řádky, kde hodnota odpovídá proměnné

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


  1. Vložte data XML do tabulky MySQL pomocí PHP

  2. CHYBA MySql 1045 (28000):Přístup odepřen uživateli 'root'@'localhost' (pomocí hesla:NE)

  3. Oracle Function vrátí podobnost mezi řetězci

  4. Nelze se připojit k databázi heroku postgresql z aplikace místního uzlu se sequelize