sql >> Base de Datos >  >> RDS >> Mysql

MySQL LEFT JOIN solo 1 fila dependiendo del valor MAX ()

Puede usar un simple JOIN a table2 , simplemente coloque el MAX(WorkDay) condición en JOIN condición como una subconsulta correlacionada, donde puede acceder a la table1 valor de identificación:

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)

Salida:

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

Demostración en dbfiddle