sql >> Databáze >  >> RDS >> Mysql

MySQL LEFT JOIN pouze 1 řádek v závislosti na hodnotě MAX().

Můžete použít jednoduchý JOIN do table2 , stačí zadat MAX(WorkDay) podmínku do JOIN podmínku jako korelovaný poddotaz, kde máte přístup k table1 id value:

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)

Výstup:

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

Ukázka na dbfiddle



  1. Jak spouštět aplikace PHP 5 s MySQL 8.0 na CentOS 7

  2. Náhrada za PEAR:MDB2 na PHP 5.3

  3. Lehký V Kostce

  4. Volání uložené procedury Oracle s výstupním parametrem ze serveru SQL