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

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
ce qui me donne

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