Bonjour,

Je m'arrache les cheveux sur une requête simple mais qui me résiste...

J'ai 2 tables:
* tmpdates (horodatage avec un pas de 20 minutes)
dtmHoro datetime
2009-10-21 00:00:00
2009-10-21 00:20:00
2009-10-21 00:40:00
2009-10-21 01:00:00
2009-10-21 00:20:00

* tblvaleurs (horodatage + valeurs)
dtmHoro datetime; dblValeur double
2009-10-21 00:00:00;0
2009-10-21 00:20:00;0
2009-10-21 00:23:00;1
2009-10-21 01:00:00;1
2009-10-21 00:20:00;0

Le but est de caler la 2nde table sur les horodatages de la 1ère.
Si les horodatages ne correspondent pas il faut prendre la dernière valeur dispo.
Le but est de rendre la table de valeurs fréquentielle (à 20min).

Résultat escompté:
2009-10-21 00:00:00;0
2009-10-21 00:20:00;0
2009-10-21 00:40:00;1
2009-10-21 01:00:00;1
2009-10-21 00:20:00;0

La requête que j'ai faite (et qui ne fonctionne pas) est la suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
SELECT dtmHoro, (
  SELECT dblValeur
  FROM tblvaleurs AS tmpVal
  WHERE tmpVal.dtmHoro <= tmpdates.dtmHoro
  ORDER BY dtmHoro DESC
  LIMIT 1
) as dblValeur
FROM tmpdates
Est-ce que qq1 à une idée?

Merci d'avance