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 :

Transformer les lignes en colonnes


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mars 2020
    Messages : 2
    Par défaut Transformer les lignes en colonnes
    Bonjour,
    j'ai les données suivantes dans une tablen avec 3 colonnes, Num et champ et valeur, ou le num est une clé étrangère vers une autre table :

    Num Champ valeur

    1 Nom Bernard
    1 Date de naissance 08/07/2011
    1 Sexe M
    1 Discipline Sport
    2 Nom Jimmy
    2 Date de naissance 23/10/2012
    2 Sexe M
    2 Discipline Anglais

    Je voudrais extraire beaucoup de données , mais au lieux d'avoir des les données en lignes, je veux les avoir en colonnes, un truc comme le tableau ci-dessous :

    Num Nom Date de naissance Sexe Discipline
    1 Bernard 08/07/2011 M Sport
    2 Jimmy 23/10/2012 m Anglais

    Vous saurez comment on peut transformer les ligner en colonnes ? genre en utilisant Decode, ou case .. when..
    merci pour votre aide.

    Cordialement,

    Yesme

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 137
    Par défaut
    La solution la plus courante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select	NUM
        ,   max(case when CHAMP = 'Nom' then VALEUR end)    as NOM
        ...
    from	MATABLE
    group by NUM
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre Expert
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 176
    Par défaut
    Bonjour,

    J'espère que tout le modèle n'est pas comme ça car la conception attribut-valeur n'est pas fait pour Oracle.
    Si ton nombre d'attributs n'est pas fixe alors tu seras obligé de faire du SQL dynamique, sinon tu peux utiliser une requête PIVOT (à partir de la version 11g1)

  4. #4
    Candidat au Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mars 2020
    Messages : 2
    Par défaut
    non le nombre des attributs est fixe. et effectivement j'ai trouvé la solution avec Pivot. merci pour votre aide

Discussions similaires

  1. Transformer les lignes en colonnes
    Par metalcoyote dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 23/02/2007, 09h45
  2. Réponses: 1
    Dernier message: 05/12/2006, 21h39
  3. TRANSFORM et PIVOT? Transformer les lignes en colonnes
    Par capitaine dans le forum Access
    Réponses: 1
    Dernier message: 12/07/2006, 11h53
  4. statistiques sur les lignes et colonnes d'un fichier
    Par ericbareke dans le forum Langage
    Réponses: 5
    Dernier message: 23/03/2006, 16h09
  5. Supprimer toutes les lignes et colonnes d'un tableau
    Par pekka77 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 01/12/2005, 11h26

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