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

Langage SQL Discussion :

[Oracle 9i] Traitement SQL et comparaison de dates


Sujet :

Langage SQL

  1. #1
    Débutant
    Inscrit en
    Juin 2003
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 108
    Points : 52
    Points
    52
    Par défaut [Oracle 9i] Traitement SQL et comparaison de dates
    Bon, là je suis perdu

    Voilà ce que je souhaitais faire :

    j'ai
    Entité---Date---Note---Agence
    A---22/11/2005---B---A1
    A---17/09/2003---A---A1
    A---24/04/2005---C---A2
    A---29/08/2003---B---A2

    et je souhaite arriver à :
    A---22/11/2005---B---A1
    A---22/11/2005---C---A2 (car la note d'A2 est C depuis 24/04/05)

    A---17/09/2003---A---A1
    A---17/09/2003---B---A2 (car la note d'A2 est B depuis 29/08/2003)


    Et là je m'enfonce dans ma requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    SELECT  *      
    FROM maTable a 
     
          LEFT JOIN (SELECT c.code_entite, 
                            c.date as date_ant, 
                            c.note as note_ant,
                            c.agence
                     FROM maTable c
                     WHERE c.date =
     
                           (SELECT max(mc.date)
                           FROM maTable mc
                           WHERE mc.date =
                               (SELECT mcb.date
                               FROM maTable mcb
                               WHERE mcb.date=mc.date)
                           AND mc.agence='MO')
                     and c.agence='MO'
                     ) b
     
                           ON a.date >= nvl(b.date_ant, '01/01/0001')
                           AND a.code_entite=b.code_entite
                           AND a.agence='SP' 
     
    WHERE a.agence='SP'
    qq1 aurait une idée simple ?

  2. #2
    Débutant
    Inscrit en
    Juin 2003
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 108
    Points : 52
    Points
    52
    Par défaut
    je suis arrivé à cela, mais ça ne fonctionne pas dans tous les cas
    je suis désespéré là :'(

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    SELECT
          req.c_rmpm_code,
          req.c_rating_agency_sp,
          req.c_rating_agency_mo,
          req.c_rating_agency_fi,
          max(req.date_autre_agence),      
          req.note_autre_agence,
          req.code_autre_agence
    FROM                       
     
    (SELECT *
    FROM rdt_fs_histo_mca a 
     
          LEFT JOIN (SELECT mc.d_rating_date as date_autre_agence, 
                            mc.c_current_rating as note_autre_agence,
                            mc.c_current_agency as code_autre_agence
                     FROM rdt_fs_histo_mca mc
                     WHERE mc.c_current_agency='MO') b
     
                           ON a.d_rating_date >= nvl(b.date_autre_agence, '01/01/0001')
                           AND a.c_current_agency='SP' 
     
    WHERE a.c_current_agency='SP') req
     
    GROUP BY
          req.c_rmpm_code,
          req.c_rating_agency_sp,
          req.c_rating_agency_mo,
          req.c_rating_agency_fi,
          req.note_autre_agence,
          req.code_autre_agence

Discussions similaires

  1. [oracle/sql]pour de type DATE
    Par CROSS dans le forum Oracle
    Réponses: 3
    Dernier message: 18/12/2006, 16h09
  2. [SQL] selection en fonction d'un comparaison de date
    Par carmen256 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/09/2006, 23h38
  3. [Oracle] Comparaison de date et ajout de mois
    Par memed dans le forum Langage SQL
    Réponses: 3
    Dernier message: 08/06/2006, 13h56
  4. [Oracle 9i] Traitement SQL sur une table
    Par Requin15 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 02/06/2006, 09h56
  5. [ORACLE] comparaison de dates
    Par magic charly dans le forum Langage SQL
    Réponses: 7
    Dernier message: 24/04/2006, 10h32

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