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 :

plusieurs colonnes en une


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Par défaut plusieurs colonnes en une
    Bonsoir, j'ai une petite question dans une requête j'ai besoin de mettre une liste de données dans une colonne par exemple:

    mettre 'a','b','c','d','e','f' ... sous forme :

    nom_colonne
    ------------
    'a'
    'b'
    'c'
    'd'
    'e'
    'f'

    j'avais pensé a faire un:

    select pivot(*) as nom_colonne from (select 'a','b','c','d','e','f' from dual);

    mais je ne connais pas la syntaxe pour faire ça et même si c'est possible.

    De même j'aimerai savoir si je souhaite faire :

    toujorus en partant juste de 'a','b','c','d','e','f'


    ID | nom_colonne
    ---| ------------
    1 | 'a'
    2 | 'b'
    3 | 'c'
    4 | 'd'
    5 | 'e'
    6 | 'f'

    la solution que j'utilise actuellement c'est une succession d'union, mais vu que j'en ai un paquet... et que cette colonne sert a faire une jointure avec d'autres tables, en gros ce sont des description ... ca met un temps fou.

    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

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

    Informations forums :
    Inscription : Août 2008
    Messages : 2 954
    Par défaut
    Je ne pense pas que c'était une question de pivot, je vois plutôt ça sur 10GR2 + :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SQL> CREATE OR REPLACE TYPE list_to_column AS TABLE OF VARCHAR2(4000);
      2  /
     
    Type created.
     
    SQL> SELECT * FROM TABLE(list_to_column('A','B','C'));
     
    COLUMN_VALUE
    ----------------------------------------------------------------------------------------------------
    A
    B
    C
    Après il suffit de rajouter rownum.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Par défaut
    heuu je ne sais pas si je peut utiliser ta solution skuatamad car c'est pour mon stage et je pense pas que j'ai le droit de créer quoi que ce soit.

    Je regarde pivot et unpivot, je comprend pas encore tout mais je pense que unpivot est ma solution.

    Reste a trouver comment ca marche bien

  5. #5
    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
    Vous pouvez utiliser la collection native d'Oracle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM TABLE(sys.odcivarchar2list('A','B','C'));

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Par défaut
    wahouuu je vois pas du tout comment appliquer cet exemple a mon cas Oo quelqu'un peut m'aider??

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Par défaut
    merci waldar j'essaye ça des demain matin au travail, mais j'aimerai quand même comprendre le unpivot et pivot svp.

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

Discussions similaires

  1. Selection de plusieurs colonnes avec une zone de liste
    Par vinzeffect dans le forum Access
    Réponses: 3
    Dernier message: 20/01/2007, 22h51
  2. Réponses: 5
    Dernier message: 27/12/2006, 16h56
  3. Update de plusieur colonne d'une meme table
    Par Poisson59 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 28/09/2006, 09h25
  4. Recherche dans plusieurs colonnes d'une table
    Par yoline dans le forum Access
    Réponses: 4
    Dernier message: 26/07/2006, 11h58
  5. [VBA] Fusionner plusieurs colonnes en une seule
    Par brutos2 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 18/01/2006, 14h25

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