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


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
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
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
Moi je voudrais en plus avoir la value pour chaque date max et je n'y arrive pas :-(

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é