Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

1 réponse
Avatar
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

1 réponse

Avatar
herve maillard
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" wrote in message
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" a écrit dans le message de news:
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
>
>