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

Użycie LEFT JOIN do zaznaczenia tylko jednego połączonego wiersza

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
        )

Utwórz indeks na table2 (c_id, isHeadOffice, o_id) aby to działało szybko.

ORDER BY klauzula w podzapytaniu może wydawać się zbędna, ale jest wymagana dla MySQL aby wybrać odpowiedni indeks.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak używać znaków UTF8 w projekcie DEFAULT c++ LUB podczas używania konektora mysql dla c++ w Visual Studio 2019 (Latin7_general_ci do UTF-8)?

  2. mysqldump błąd:pakiet większy niż max_allowed_packet'

  3. Pole „id” nie ma wartości domyślnej?

  4. Jak uciec z mysql w magento?

  5. Nie można połączyć się ze zdalnym mysql z komputera Mac lion