Bonjour,
J'ai un petit soucis avec une requête, j'aimerais vos lumières !
Voila, j'ai une table avec un id, un id de variable, une valeur (value) et une date pour cette valeur,
l'unicité est définit par le triplet (id,id_var,date)
par exemple :
id varid value date
1 age 12 01/01/2005
1 age 13 01/01/2006
1 age 14 01/01/2007
1 taille 170 01/01/2005
2 age 13 02/01/2005
2 taille 130 02/01/2005
si je fais ça, je récupère pour chaque couple (id, varid) la date de dernière mise à jour.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select id, varid, max(date) from matable where id in(194,200) group by id, varid
Moi je voudrais en plus avoir la value pour chaque date max et je n'y arrive pas :-(
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 ID VARID MAX(BODAT ---------- ----------- --------- 200 1 21-AUG-06 200 2 21-AUG-06 200 3 21-AUG-06 200 4 21-AUG-06 200 5 21-AUG-06 200 8 21-AUG-06 200 9 18-AUG-06 194 1 21-AUG-06
Je fais qqch de ce genre là :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 select id, varid, max(date), value from matable group by id, varid;
ps : mon champ ne s'appelle pas vraiment "date", je sais que c'est un mot réservé![]()
Partager