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 :

Utilisation de la notion de pivot [11g]


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Par défaut Utilisation de la notion de pivot
    Bonjour,

    J'ai une requête qui me renvoie une liste du type :
    Nom du cours | Nom du Participant | Prenom Participant | Note

    J'aimerais avoir en entête les cours et pour chacun des cours sur chacune des lignes la note du participant :

    Participant Cours 1 Cours 2 ...
    TOTO B A
    .....

    Je regarde la notion de pivot et j'ai du mal à comprendre le fonctionnement de cette notion.

    Merci de votre aide.

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Au niveau de la notion, ce n'est pas très compliqué, c'est grosso modo le tableau croisé dynamique d'Excel.

    SQL étant un langage déclaratif, vous devez connaître à l'écriture de votre requête la liste des cours que vous voulez voir pivoter.

    En SQL standard :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      select participant
           , max(case cours when 'Cours 1' then note end) as Cours1
           , max(case cours when 'Cours 2' then note end) as Cours2
           , max(case cours when 'Cours 3' then note end) as Cours3
        from matable
    group by participant;
    L'opérateur PIVOT a été implémenté par Oracle en 11g, mais ne sert réellement qu'à raccourcir la syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select participant, Cours1, Cours2, Cours3
      from matable
     pivot (max(note) for Cours in ('Cours 1' as Cours1, 'Cours 2' as Cours2, 'Cours 3' as Cours3));
    Il faut toujours connaître la liste des éléments qu'on veut pivoter.

    Pour faire quelque chose de dynamique, il faudra se tourner vers du PL/SQL.

  3. #3
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Par défaut
    Merci je regarde cela ....

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

Discussions similaires

  1. comment utiliser la notion des sessions?
    Par lady_alg dans le forum ASP.NET
    Réponses: 2
    Dernier message: 11/05/2009, 15h12
  2. traitement des image en utilisant la notion de fractale et multifractale
    Par 3issam84 dans le forum Traitement d'images
    Réponses: 0
    Dernier message: 05/03/2009, 00h51
  3. utilisation du lookup et notion de context
    Par hterrolle dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 07/12/2007, 17h01
  4. Utilisation de tables pivots pour générer des graphes
    Par acraenin dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 23/10/2007, 11h19
  5. utilisation de "PIVOT" et TRANSFORM"
    Par boris_ska dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 15/06/2005, 13h00

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