Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL LEFT JOIN nur 1 Zeile abhängig vom MAX()-Wert

Sie können ein einfaches JOIN verwenden zu table2 , geben Sie einfach MAX(WorkDay) ein Bedingung in den JOIN Bedingung als korrelierte Unterabfrage, wo Sie auf table1 zugreifen können ID-Wert:

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)

Ausgabe:

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

Demo auf dbfiddle