Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Gabung hanya untuk baris tertentu di mana nilai cocok dengan variabel

sepertinya Anda hanya perlu LEFT JOIN ke tabel lain karena tampaknya Anda ingin melihat semua siswa dari set pertama terlepas dari tawaran/minat pekerjaan apa pun.

Jika demikian... pastikan tabel "Minat" dan "Penawaran" memiliki indeks dengan ID siswa berupa indeks elemen tunggal, atau indeks gabungan pertama.

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

Untuk mencegah hasil "NULL" pada minat, minat, dan penawaran pemberi kerja, Anda dapat membungkusnya dalam panggilan Coalesce() seperti (untuk ketiga kolom di gabungan kiri)

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. #1273 - Susunan tidak diketahui:'utf8mb4_unicode_ci' cPanel

  2. Beberapa SQL Bergabung dari tabel yang sama dengan Codeigniter

  3. PHP pagination MySQL dengan pemesanan acak

  4. Java mendapatkan nomor kenaikan otomatis dari baris yang dimasukkan saat ini, untuk menggunakannya untuk kueri lain?

  5. mysql menggabungkan hasil kueri secara berdampingan