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

PL/SQL Oracle Discussion :

UNPIVOT sous Oracle 11g R2


Sujet :

PL/SQL Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Points : 16
    Points
    16
    Par défaut UNPIVOT sous Oracle 11g R2
    Bonjour a tous,

    Mon problème et que je n'arrive pas a utiliser la fonction UNPIVOT.

    header_column_name|indicator_value
    02/10 | 52€
    03/10 | 53€
    01/10 | 51€

    je voudrais avoir

    02/10 | 03/10 | 01/10
    52€ | 53€ | 51€

    ma requete :
    select * from maTable
    UNPIVOT (indicator_value FOR header_column_name in (?));

    ? => n'importe quel valeur cela me mets "identificateur non valide"


    D'avance merci

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Bon d'abord ce que tu veux faire c'est plutôt PIVOT que UNPIVOT.
    As tu regardé un peu de doc sur PIVOT ?
    Ca n'est peut être pas la meilleure entrée, il en existe sûrement d'autre...

    Il faut une fonction d'aggrégation exemple avec ton jeu de données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SQL> with t as (
      select '02/10' as header_column_name, '52€' as indicator_value from dual union all
      select '03/10', '53€' from dual union all
      select '01/10', '51€' from dual
    )
    select * from t
    PIVOT (max(indicator_value) for (header_column_name) in ('01/10' as "01/10",'02/10' as "02/10",'03/10' as "03/10"));
     
    01/10 02/10 03/10
    ----- ----- -----
    51??? 52??? 53???
    Mais comme tu peux le constater c'est très statique, en effet pivoter en sql ne peut être que très statique, si tu as la liberté de pivoter dans ton langage client, fait le !

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Points : 16
    Points
    16
    Par défaut
    Merci beaucoup cela marche bien.

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

Discussions similaires

  1. LOV sous Oracle 11G
    Par titigab dans le forum Forms
    Réponses: 0
    Dernier message: 01/12/2011, 15h02
  2. sqlplus sous oracle 11g
    Par geeksDeve dans le forum Oracle
    Réponses: 1
    Dernier message: 09/05/2011, 19h39
  3. creer un utilisateur sous oracle 11g
    Par persé dans le forum Oracle
    Réponses: 0
    Dernier message: 23/03/2011, 11h10
  4. Réponses: 0
    Dernier message: 27/11/2008, 11h53
  5. Erreur installation Enterprise Manager sous Oracle 11g
    Par Mnementh63 dans le forum Installation
    Réponses: 21
    Dernier message: 03/07/2008, 17h40

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