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

MySQL LEFT JOIN hanya 1 baris tergantung pada nilai MAX()

Anda dapat menggunakan JOIN sederhana ke table2 , cukup masukkan MAX(WorkDay) kondisi ke dalam JOIN kondisi sebagai subquery yang berkorelasi, di mana Anda dapat mengakses table1 nilai id:

SELECT *
FROM table1 t1
JOIN table2 t2 ON t2.id = t1.id AND
                  t2.WorkDay = (SELECT MAX(WorkDay) 
                                FROM table2 
                                WHERE table2.id = t1.id)

Keluaran:

ID  Name    ID  WorkDay     MissionCode
1   Brain   1   2019-02-01  2470
2   Amy     2   2019-02-01  7210

Demo di dbfiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hapus baris dengan relasi dengan tabel lain

  2. php artisan migration throw [Pengecualian PDO] Tidak dapat menemukan driver - Menggunakan Laravel

  3. Variabel tidak terdefinisi:pdo, panggil ke fungsi anggota prepare() pada null

  4. Bukan tabel/alias unik

  5. Bagaimana cara masuk ke MySQL sebagai pengguna yang berbeda?