J'ai une table employee et une table leave_allocation qui a une relation un-à-plusieurs. Chaque salarié dispose d'un certain nombre d'allocations de congé sur une période donnée. Je voudrais obtenir l'allocation la plus récente pour chaque employé.Groupe d'agrégation SQL par
J'ai essayé la requête, mais la date et les valeurs de jours ne correspondent pas à la même rangée
select e.employee_number, e.nme, MAX(l.date), l.days
from employee e, leave_allocation l
where l.employee_id = e.employee_id
group by e.employee_number, e.nme
Comment puis-je obtenir la dernière allocation par employé?
Notez que cela produit des doublons si la combinaison d'identité des employés et la date ne sont pas uniques dans leave_allocation. –
@ Eric Petroelje - Oui, mais mon hypothèse est qu'ils étaient, sinon, quel serait le point d'avoir 2 lignes avec le même id d'employé et la date? Quoi qu'il en soit, j'ai proposé une alternative juste au cas où il pourrait y avoir plusieurs lignes, voir la réponse éditée. – dcp