recherche dans une table de la première valeur existante (sachant que les enregistrements sont bornés par 2 dates)

Le
herve maillard
Bonjour,

Mon problème est le suivant. J'ai la table suivante :

Variable date_heure Valeur
var1 12/06/03 06:00:00 18
var1 12/06/03 06:00:03 21
var1 12/06/03 06:00:05 23
var2 12/06/03 06:00:30 21
var2 12/06/03 07:00:00 55

J'ai besoin d'extraire les données de la variable "var1" avec le champ
date_heure compris entre 12/06/03 06:00:02 et 12/06/03 06:00:30

Le problème c'est qu'avec un select classique je récupère seulement :

var1 12/06/03 06:00:03 21
var1 12/06/03 06:00:05 23

Hors je souhaite récupérer :

var1 12/06/03 06:00:02 18
var1 12/06/03 06:00:03 21
var1 12/06/03 06:00:05 23

Bien sur la valeur "18" n'existe pas réellement à 06:00:02 mais elle
correspond à la dernière valeur "valide".

Comment faire

Merci de votre aide.

H. MAILLARD
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
herve maillard
Le #11791311
Merci pour cette réponse...
Effectivement je souhaite récupérer la valeur du changement précédent tout
en conservant la date et l'heure définie comme critère.

L'exemple fournit fonctionne uniquement avec une variable. Comme faire si ma
sélection porte sur plusieurs ?

Merci de votre aide.

H. MAILLARD

"Patrice Scribe" news:Ot$
Pas très clair. Comment se fait il que la valeur 18 doit-être sélectionnée
alors qu'elle ne correspond pas au critère de date ?

Je suppose que tu veux les changements de valeur entre telle et telle


heure,
avec la valeur initiale (le changement précédent).
Si cela porte sur une variable tu pourrais éventuellement faire quelque
chose comme :

SELECT TOP 1 @DébutÚte_heure FROM MaTable WHERE Date_Heure<=@Début WHERE
Variable='var1' ORDER BY Date_Heure DESC

pour récupérer la date du changement précédent (ou idem avec UNION par
exemple si tu veux tout récupérer en une fois plutôt que d'ajuster la


borne
inférieure de l'intervalle visé).

Tu peux ensuite récupérer les lignes entre @Début et @Fin.

--

"herve maillard" 3f01687e$0$5428$
> Bonjour,
>
> Mon problème est le suivant. J'ai la table suivante :
>
> Variable date_heure Valeur
> var1 12/06/03 06:00:00 18
> var1 12/06/03 06:00:03 21
> var1 12/06/03 06:00:05 23
> var2 12/06/03 06:00:30 21
> var2 12/06/03 07:00:00 55
>
> J'ai besoin d'extraire les données de la variable "var1" avec le champ
> date_heure compris entre 12/06/03 06:00:02 et 12/06/03 06:00:30
>
> Le problème c'est qu'avec un select classique je récupère seulement :
>
> var1 12/06/03 06:00:03 21
> var1 12/06/03 06:00:05 23
>
> Hors je souhaite récupérer :
>
> var1 12/06/03 06:00:02 18
> var1 12/06/03 06:00:03 21
> var1 12/06/03 06:00:05 23
>
> Bien sur la valeur "18" n'existe pas réellement à 06:00:02 mais elle
> correspond à la dernière valeur "valide".
>
> Comment faire...
>
> Merci de votre aide.
>
> H. MAILLARD
>
>



Publicité
Poster une réponse
Anonyme