bonjour,
j'ai une table qui assure le suivi des transitions d'enregistrements,qui a la structure suivante :
id_pk;id_fk,etat_initial,etat_final,date
exemple :
1,1,10,20,20081021
2,1,20,30,20081022
3,1,30,30,20081023
4,1,30,30,20081024
5,2,10,20,20081025
6,2,20,30,20081026
7,2,30,40,20081026
Je souhaiterais afficher
pour chaque id_fk le dernier etat_final,et la date de cette transition pour passer à cet etat
id_fk;etat_final;date
1,30,20081024
2,40,20081026
J'ai testé un
select u2.id_fk , max(u.date), u2.etat_final
from matable u,matable u2
where u.id_fk=u2.id_fk
and u2.date=u.date
group by u2.id_fk;
mais je pense que je n'ai pas forcément l'etat_final associée à la max(date)... à mon avis il faudrait que je remplace l'avant dernière ligne par
and u2.date=max(u.date)
Or je me prends l'erreur suivante :
Invalid use of group function
Est-ce que quelqu'un aurait une solution, une explication?
D'avance merci
Partager