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 sur une table


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 108
    Par défaut [Oracle 9i] Traitement SQL sur une table
    Bonjour,

    Voici mon problème :

    j'ai la table suivante :
    date-------------note
    17/02/03---------A
    22/01/03---------B
    26/07/02---------C
    13/03/00---------D
    28/01/98---------E


    J'aimerais obtenir la table suivante (nouvelle table à la rigueur)

    17/02/03----A-----17/02/03-----A
    17/02/03----A-----22/01/03-----B
    17/02/03----A-----26/07/02-----C
    17/02/03----A-----13/03/00-----D
    17/02/03----A-----28/01/98-----E
    17/02/03----A-----Null----------Null

    22/01/03----B-----22/01/03-----B
    22/01/03----B-----26/07/02-----C
    22/01/03----B-----13/03/00-----D
    22/01/03----B-----28/01/98-----E
    22/01/03----B-----Null----------Null

    26/07/02----C-----26/07/02-----C
    26/07/02----C-----13/03/00-----D
    26/07/02----C-----28/01/98-----E
    26/07/02----C-----Null----------Null

    Et ainsi de suite pour chaque date.

    Avez vous des pistes ? Pour info je travaille en Oracle 9i. Je connais un peu PL/SQL.

    Merci bcp!

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 108
    Par défaut
    Voici le code pour créer la date et les enregistrements

    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
     
    create table RDT_FS_HISTO_MO
    (
      C_RMPM_CODE            VARCHAR2(18),
      C_RATING_AGENCY_ISSUER VARCHAR2(18),
      D_RATING_DATE          DATE,
      C_CURRENT_RATING       VARCHAR2(12),
      C_CURRENCY_TYPE_CODE   VARCHAR2(10),
      C_TERM_CODE            VARCHAR2(10)
    );
     
    insert into RDT_FS_HISTO_MO (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, C_CURRENCY_TYPE_CODE, C_TERM_CODE)
    values (null, '0000002145', to_date('26-07-2002', 'dd-mm-yyyy'), 'A1', 'FC', 'LT');
    insert into RDT_FS_HISTO_MO (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, C_CURRENCY_TYPE_CODE, C_TERM_CODE)
    values (null, '0000002145', to_date('22-01-2003', 'dd-mm-yyyy'), 'A3', 'FC', 'LT');
    insert into RDT_FS_HISTO_MO (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, C_CURRENCY_TYPE_CODE, C_TERM_CODE)
    values (null, '0000002145', to_date('13-03-2000', 'dd-mm-yyyy'), 'Aa3', 'FC', 'LT');
    insert into RDT_FS_HISTO_MO (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, C_CURRENCY_TYPE_CODE, C_TERM_CODE)
    values (null, '0000002145', to_date('17-02-2003', 'dd-mm-yyyy'), 'WR', 'FC', 'LT');
    insert into RDT_FS_HISTO_MO (C_RMPM_CODE, C_RATING_AGENCY_ISSUER, D_RATING_DATE, C_CURRENT_RATING, C_CURRENCY_TYPE_CODE, C_TERM_CODE)
    values (null, '0000002145', to_date('28-01-1998', 'dd-mm-yyyy'), 'Aa2', 'FC', 'LT');
    commit;

  3. #3
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Par défaut
    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT a.Date, a.Note, b.Date, b.Note
    FROM laTable a LEFT JOIN (SELECT Date, Note
                              FROM laTable
                            UNION 
                              SELECT Null, Null
                              FROM DUAL) b
                        ON a.Date >= nvl(b.Date, '01/01/0001')
    ORDER BY a.Date DESC, b.Date DESC

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 108
    Par défaut
    Rien à dire... hormi un immense MERCI !!
    Cela fonctionne parfaitement. On comprend bien l'intitulé "expert confirmé" sous ton pseudo.

    Merci encore !

  5. #5
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Par défaut
    Citation Envoyé par Requin15
    un immense MERCI !!
    Pas de quoi, c'est un plaisir de rendre service
    Citation Envoyé par Requin15
    On comprend bien l'intitulé "expert confirmé" sous ton pseudo.
    En fait cela veut seulement dire que je suis bavard ...

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 108
    Par défaut
    Bavard, ok, mais pas pour dire des bêtises ;-)

  7. #7
    Membre Expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Par défaut
    Citation Envoyé par Médiat
    En fait cela veut seulement dire que je suis bavard ...
    Non pas seulement, les gens trop bavard mais qui n'apporte aucune réponse voit leur rang modifié en des valeurs plus explicites en "grand bavard", "débutant", etc...
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. 2 Requete sql sur une Table
    Par melongourmand dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 15/03/2013, 14h25
  2. Réponses: 18
    Dernier message: 30/01/2012, 18h41
  3. [WD16] Faire une requête SQL sur une table ?
    Par EriCstoFF dans le forum WinDev
    Réponses: 9
    Dernier message: 01/09/2011, 10h16
  4. Requete SQL sur une table dont le nom est dans une autre table
    Par orangepresse dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/09/2007, 13h32
  5. Réponses: 4
    Dernier message: 27/12/2006, 21h53

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