Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL LEFT JOIN apenas 1 linha dependendo do valor MAX()


Você pode usar um simples JOIN para table2 , basta colocar o MAX(WorkDay) condição no JOIN condição como uma subconsulta correlacionada, onde você pode acessar a table1 valor de identificação:
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)

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

Demonstração no dbfiddle