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 :

[V 9]Pivot sur DEPT


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Jean_Benoit
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 499
    Par défaut [V 9]Pivot sur DEPT
    Bonjour,

    Est-il possible d'écrire une requête qui ramènerait les dname en une seule ligne:

    ACCOUNTING | RESEARCH | SALES | OPERATION.

    C'est à dire un pivot tout bête, j'ai su le faire mais je ne m'en souviens plus.

    Je suis en V9.

    Merci d'avance.

  2. #2
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Voilà le méchanisme le plus basique:
    1) D’abord vous avez besoin d’une colonne qui va être le pivot, deptno dans ce cas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SQL> Select deptno, dname
      2    from dept
      3  /
     
    DEPTNO DNAME
    ------ --------------
        10 ACCOUNTING
        20 RESEARCH
        30 SALES
        40 OPERATIONS
    2) Ensuite il faut générer autant des colonnes que nécessaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    SQL> Select case when deptno = 10 then dname end as col1,
      2         case when deptno = 20 then dname end as col2,
      3         case when deptno = 30 then dname end as col3,
      4         case when deptno = 40 then dname end as col4
      5    from dept
      6  /
     
    COL1           COL2           COL3           COL4
    -------------- -------------- -------------- --------------
    ACCOUNTING                                   
                   RESEARCH                      
                                  SALES          
                                                 OPERATIONS
    3) En fin une fonction de group pour ramener tout sur une seule ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SQL> Select Max(case when deptno = 10 then dname end) as col1,
      2         Max(case when deptno = 20 then dname end) as col2,
      3         Max(case when deptno = 30 then dname end) as col3,
      4         Max(case when deptno = 40 then dname end) as col4
      5    from dept
      6  /
     
    COL1           COL2           COL3           COL4
    -------------- -------------- -------------- --------------
    ACCOUNTING     RESEARCH       SALES          OPERATIONS
     
    SQL>

Discussions similaires

  1. Menu circulaire pivotant sur lui même
    Par mimousse dans le forum Flash
    Réponses: 2
    Dernier message: 31/03/2010, 00h18
  2. Pivot sur colonnes multiples
    Par lamorkytu dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 19/03/2010, 14h43
  3. Aide pour PIVOT sur SQL
    Par crashyear dans le forum Développement
    Réponses: 1
    Dernier message: 29/04/2009, 15h28
  4. PIVOT sur des champs dynamique.
    Par berceker united dans le forum Développement
    Réponses: 2
    Dernier message: 27/08/2008, 19h45
  5. [FLASH MX2004]Animation Style 3D qui pivote sur elle même.
    Par °°° Zen-Spirit °°° dans le forum Flash
    Réponses: 1
    Dernier message: 06/06/2006, 21h47

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