sql >> Database >  >> RDS >> Mysql

LEFT JOIN gebruiken om slechts één samengevoegde rij te selecteren

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
        )

Maak een index op table2 (c_id, isHeadOffice, o_id) om dit snel te laten werken.

De ORDER BY clausule in de subquery lijkt misschien overbodig, maar is vereist voor MySQL om de juiste index te kiezen.



  1. Is er een eenvoudig pagineringsraamwerk voor php dat gemakkelijk kan worden geïmplementeerd?

  2. mysql slaat automatisch tijdstempel voor het maken van records op

  3. Afbeeldingen toewijzen aan Tree View-knooppunten-2

  4. Maak een MySQL-gebruiker en database vanuit PHP