Bonjour j'ai une table de ce style
date tag value 2010-10-10 11:24:00.000 A 5 2010-10-10 11:25:00.000 A 10 2010-10-10 11:32:00.000 B 20 2010-10-10 12:02:00.000 A 30 2010-10-10 12:06:00.000 B 40
et j'aimerais récupérer la valeur a la date la plus grande (inférieur ou égale a une date)..
donc j'ai fait ceci
ce qui me donne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 select * from xx inner join (SELECT xx.tag as t, MAX(xx.date) as d FROM xx Where xx.date <= '2010/10/10 11:32:00' group by xx.tag) a on a.t = xx.tag and a.d = xx.date order by XX.tag
date tag value t d 2010-10-10 11:25:00.000 A 10 A 2010-10-10 11:25:00.000 2010-10-10 11:32:00.000 B 20 B 2010-10-10 11:32:00.000
et c'est bien mon résultat attendu
bref j'aimerais savoir si il n'y aurait pas une écriture plus simple (plus sexy)
si vous avez une idée
merci
Partager