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

Menggunakan LEFT JOIN untuk hanya memilih satu baris yang digabungkan

SELECT  *
FROM    table1 t1
LEFT JOIN
        table2
ON      o.id = 
        (
        SELECT  o_id
        FROM    table2 t2
        WHERE   t2.c_id = t1.c_id
        ORDER BY
                t2.c_id DESC, t2.isHeadOffice DESC, t2.o_id DESC
        LIMIT 1
        )

Buat indeks pada table2 (c_id, isHeadOffice, o_id) agar ini bekerja dengan cepat.

ORDER BY klausa dalam subquery mungkin tampak berlebihan tetapi diperlukan untuk MySQL untuk memilih indeks yang tepat.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL batch stmt dengan Statement.RETURN_GENERATED_KEYS

  2. Cara mengatur zona waktu basis data di application.ini

  3. MySQL dan UTF-8

  4. MySQL - Bagaimana cara menggabungkan dua tabel tanpa duplikat?

  5. Sphinx vs. MySql - Cari melalui daftar teman (efisiensi/kecepatan)