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

MySql seleciona todas as linhas em uma tabela com base no valor MAX em outra tabela


Você pode fazer isso com uma subconsulta correlacionada:
select a.*,
       (select application_stage
        from application_progress ap
        where ap.application_id = a.id
        order by stage_date desc
        limit 1
       ) MostRecentStage
from applications a;

EDITAR:

Você pode juntar os dados do candidato com algo assim::
select a.*, aa.*,
       (select application_stage
        from application_progress ap
        where ap.application_id = a.id
        order by stage_date desc
        limit 1
       ) MostRecentStage
from applications a join
     applicant aa
     on a.applicant_id = aa.id;