Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySql sélectionne toutes les lignes d'une table en fonction de la valeur MAX d'une autre table

Vous pouvez le faire avec une sous-requête corrélée :

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;

MODIFIER :

Vous pouvez joindre les données du candidat avec quelque chose comme ceci : :

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;