IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

Comment afficher un champ par date dans un intervalle


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut Comment afficher un champ par date dans un intervalle
    Bonjour,

    je m'interesse au besoin suivant:
    etant donné une table TABLE1 ou j'ai deux champs:
    - Date_creation
    - VALEUR

    je m'intéresse a élaborer une procédure qui me permet d'afficher pour un intervalle de date donné en entré [date_deb, date_fin], le couple (date , valeur) présent dans la table.bien sur si la date n'existe pas dans la table afficher 0 tout simpelment comme valeur.

    excusez moi si ca parait trivial pour la plupart de vous

    merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    fais une recherche sur le forum sur BETWEEN

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut
    je sais qu'il faut utiliser le beetween mais comment mettre en place la bonne boucle qui fera le traitement pour chaque jour?
    merci

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut
    finalement je crois que between n'a rien a voir dans ce que je veux faire !
    il s'agit de boucler sur un intervale de date c'est tout, donc ce qui me manque c'est la façon de le faire
    merci

  5. #5
    Invité
    Invité(e)
    Par défaut
    Je ne comprends pas ce que tu cherches à faire.
    Un exemple pourrait être plus explicite.

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 354
    Par défaut
    Un exemple pour la période du 1/3/2008 et 30/3/2008
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    with t as
    (
      select date'2008-3-1' + level - 1 date_op
      from dual
      connect by date'2008-3-1' + level - 1 <= date '2008-3-30'
    )
    select t.date_op, t1.valeur
    from table1 t1, t
    where t1.date_creation  (+)= t.date_op
    J'ai édité parce que je me suis aperçu que j'ai placé le (+) du mauvais côté ...

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut
    OUH LA !
    c'est pas trop compliqué tout ca pr rapport a ce que je cherche :
    en effet je reexplique: la procedure doit prendre en parametre un date debut et une date date fin, et pour chaque jour ( date) afficher le couple en question c'est tout !

    je ne comprends pas le passage par la table dual?
    merci

  8. #8
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut
    pour faire simple voiçi la requete qui peut me retourner ce que je veux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    select  DATE_CREATION_DATE , valeur   from table1 where 
    DATE_CREATION_DATE between '01-SEP-2000' and '29-FEB-2008' group by DATE_CREATION_DATE ;
    maintenanat il s'agit d'en creer une procedure qui prend les deux dates ( debut et fin) et m'affiche en retour pour chaque date le couple ( date , valeur) :

    exp:
    -----

    10/10/2007 15
    29/12/2005 2
    etc



    voila!

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 354
    Par défaut
    Il faut décider ce que tu veux!

    Le besoin était d'afficher tous les jours de la période donnée. Rien ne garantie que tous ces jours sont dans la table table1! D'ailleurs vous avez dit que si ça n'existe pas vous voulez 0.
    Ma requête renvoi NULL mais c'est un petit détail.

    La table "t" permet d'avoir tous les jours de la période donnée ...

  10. #10
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 100
    Par défaut
    Oui mais comment ecrire ca sous forme d'une procedure qui affiche le couple de données ? comme ca elle sera paramétrable
    merci

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/10/2010, 14h48
  2. afficher le premier element par date dans un group by
    Par pmithrandir dans le forum Langage SQL
    Réponses: 2
    Dernier message: 08/01/2010, 16h56
  3. comment afficher les données par mois à partir d'un champs date ?
    Par M.a.n.u. dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 18/05/2008, 10h36
  4. Réponses: 1
    Dernier message: 05/04/2008, 18h57
  5. Comment afficher deux champs d'une table dans une comboBox
    Par lamia2007 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 12/04/2007, 09h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo