Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL LEFT JOIN solo 1 riga a seconda del valore MAX()

Puoi usare un semplice JOIN a table2 , inserisci il MAX(WorkDay) condizione nel JOIN condizione come sottoquery correlata, da cui è possibile accedere alla table1 valore id:

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)

Uscita:

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

Demo su dbfiddle