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

Autres SGBD Discussion :

Transformer des colonnes en plusieurs lignes


Sujet :

Autres SGBD

  1. #1
    Candidat au Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Octobre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2011
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Transformer des colonnes en plusieurs lignes
    Bonjour a tous
    J'ai un fichier contenant des informations sur les ménages. Je voudrai le transformer en une base de données individuelle. Dans le fichier ménage les données sont disposées comme ci-dessous. Nous avons 5 ménages. Dans chaque ménage nous avons sur la ligne les noms des membre du ménage, les ages et le sexe.
    NB: Le ménage N° 11 à 2 membres contrairement aux autres. L'age du 1er membre du ménage N° 13 est manquant


    N°mge Nom2 Nom2 Nom3 Ag1 Ag2 Ag3 Sxe1 Sexe2 Sexe3
    10 X110 X210 X310 40 25 10 M F M
    11 X111 X211 60 35 F F
    12 X112 X212 X312 50 25 15 M F F
    13 X113 X213 X313 18 15 M M F
    14 X114 X214 X314 80 17 23 M M M

    Je voudrai donc transformer ce fichier en:

    N°ménage Nom Age Sexe
    10 X110 40 M
    10 X210 25 F
    10 X310 10 M
    11 X111 60 F
    11 X211 35 F
    12 X112 50 M
    12 X212 25 F
    12 X312 15 F
    13 X113 M
    13 X213 18 M
    13 X313 15 F
    14 X114 80 M
    14 X214 17 M
    14 X314 23 M

    Je vous remercie d'avance pour vos appuis.
    Merci

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Vous avez parfaitement raison de faire cette transformation.
    La requête pour le faire s'écrit pas un ensemble de UNION ALL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    select num_menage, nom1 as nom, ag1 as age, sxe1 as sexe
      from MaTable
     union all
    select num_menage, nom2 as nom, ag2 as age, sxe2 as sexe
      from MaTable
     union all
    select num_menage, nom3 as nom, ag3 as age, sxe3 as sexe
      from MaTable;

  3. #3
    Candidat au Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Octobre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2011
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci pour votre aide.
    Je voudrai avoir un macro en VB. Je travaille sur un fichier excel.
    Bien cordialement

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/12/2011, 17h12
  2. Réponses: 5
    Dernier message: 02/09/2010, 16h15
  3. Comment mettre en colonne des resultats de plusieurs lignes
    Par shaun_the_sheep dans le forum Langage SQL
    Réponses: 1
    Dernier message: 28/04/2009, 11h41
  4. Transformer des colonnes en lignes
    Par marman dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/11/2006, 17h43
  5. transformer des colonnes en lignes
    Par flonardi dans le forum Oracle
    Réponses: 13
    Dernier message: 28/10/2004, 12h43

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