Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1814 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Requête SQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Requête SQL

n°1702891
karlkox
Posté le 15-03-2008 à 18:23:57  profilanswer
 

Bonjour,
Etant tres faible en SQL, et ayant pas mal cherché, je coince sur quelque chose qui va vous sembler d'une simplicité enfantine.
J'ai deux tables :
 - TM04_INFORMATION_RAME
     * colonne 1 : numero_rame (pk, varchar2)
     * colonne 2 : etat (number)
     * colonne 3 : date_dernier_msg (timestamp(6) )
 
 - TM04_CIRCULATION_THEORIQUE
     * ID (pk, number),
     * numero_rame (fk, ref TM04_INFORMATION_RAME.numero_rame),
     * date_debut_theo : timestamp(6)
     * date_fin_theo : timestamp(6)
 
TM04_INFORMATION_RAME stocke des informations d'une rame issus de flux xml ainsi que la date du dernier message recu.
Je souhaite, pour toutes ces rames, avec l'etat 1-2 récupérer les circulations théoriques.
Jusque la pas de soucis.
Maintenant, je ne souhaite récupérer QUE la circulation théorique la plus proche de la date du dernier message recu pour cette rame.
Exemple :
 - j'ai une rame, la 301, avec l'état 1, son dernier message est aujourd'hui, 12:00:00
 - cette rame à 3 circulations théoriques ce jour la :
     * la 1ere : de 11:00:00 à 11:30
     * la 2eme : à 15:00 à 16:00
     * la 3eme : à 17:00 :18:30
 
Ma requête devra donc ne récupérer QUE la 2ème, car la 1ère est déja passée (ça, j'arrive à la jeter), et la 3 ème est plus lointaine que la deuxième.
Il faudrait aussi que ce soit aussi le cas lorsque la date du dernier message recu soit compris dans l'une de ses circulations. (dernier msg recu entre 11h et 11h30 par exemple donc la 1ere)
On m'a imposé le fait que tout cela doit être fait en one shot (une seule requête) ... c'est en fait ce qui me pose problème
Votre aide serait vraiment appréciable.
Merci d'avance  :jap:

mood
Publicité
Posté le 15-03-2008 à 18:23:57  profilanswer
 

n°1703960
bpoujol
Posté le 18-03-2008 à 11:33:47  profilanswer
 

Si je me souviens bien : un timestamp contient date+heure ?
 
tu fais un ORDER BY date_fin_theo ASC histoire de les classer par ordre chronologique
tu fais un SELECT TOP 1 pour n'avoir qu'un seul résultat
tu fais un WHERE date_dernier_msg  <= date_fin_theo  
 
je te laisse remettre le tout dans l'ordre :D


---------------
How can I save my little boy from Oppenheimer's deadly toy ? There is no monopoly of common sense on either side of the political fence

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Requête SQL

 

Sujets relatifs
Help pour requête SQLC# -- Problème d'éxécution de requête sur la base SQL server
[SQL] Pb avec requete SQL MAXD'une requête SQL au VBA
Problème Requete SQL[SQL Serveur] probleme requete avec calcul (tout bete)
[SGBD Access 2007 pro] Comment exécuter une requête en SQL (débutant)[Résolu] Aide requête SQL: item n'appartenant pas à une catégorie
Requête SQL + Opération sur Timestamp[SQL] Optimisation de requete
Plus de sujets relatifs à : Requête SQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR