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

Requêtes MySQL Discussion :

Afficher les liens de parentés dans une troisième colonne


Sujet :

Requêtes MySQL

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Afficher les liens de parentés dans une troisième colonne
    Bonjour,

    Je suis bloqué sur ce sujet, j'espère que quelqu'un pourra m'aider.
    Il s'agit dans une table affichant NOM et PRENOM, d'ajouter dans une 3è colonne PARENTE les personnes portant le même NOM.

    Voici à la mano ce que ca donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    NOM	PRENOM	PARENTE
    blanco	richard	
    dutronc	mathieu	
    dutronc	nathalie	
    dutronc	raymond	
    laforet	virgil	
    laforet	bertille	
    laforet	gaston	
    poitoux	francis	
    poitoux	bertrand
    Et ensuite en ajoutant les prénoms ayant le même NOM dans la colonne PARENTE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    NOM	PRENOM	PARENTE
    blanco	richard	
    dutronc	mathieu	nathalie, raymond
    dutronc	nathalie	mathieu, raymond
    dutronc	raymond	mathieu, nathalie
    laforet	virgil	bertille, gaston
    laforet	bertille	virgil, gaston
    laforet	gaston	virgil, bertille
    poitoux	francis	bertrand
    poitoux	bertrand	francis
    Je bloque complètement, sur Excel je sais faire ça sans souci mais maintenant je veux le faire sur MySQL. Etant débutant sur le sujet je sèche complètement..

    Si quelqu'un souhaite m'aider, voici la table sur laquelle je travaille :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    CREATE TABLE `familles` (
      `ID` int(11) NOT NULL AUTO_INCREMENT,
      `NOM` varchar(255) DEFAULT NULL,
      `PRENOM` varchar(255) DEFAULT NULL,
      `PARENTES` varchar(255) DEFAULT NULL,
      PRIMARY KEY (`ID`)
    ) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=latin1;
     
    -- ----------------------------
    -- Records of familles
    -- ----------------------------
    INSERT INTO `familles` VALUES ('1', 'dutronc', 'mathieu', null);
    INSERT INTO `familles` VALUES ('2', 'dutronc', 'mathieu', null);
    INSERT INTO `familles` VALUES ('3', 'dutronc', 'nathalie', null);
    INSERT INTO `familles` VALUES ('4', 'dutronc', 'raymond', null);
    INSERT INTO `familles` VALUES ('5', 'blanco', 'richard', null);
    INSERT INTO `familles` VALUES ('6', 'laforet', 'virgil', null);
    INSERT INTO `familles` VALUES ('7', 'laforet', 'bertille', null);
    INSERT INTO `familles` VALUES ('8', 'laforet', 'gaston', null);
    INSERT INTO `familles` VALUES ('9', 'poitoux', 'francis', null);
    INSERT INTO `familles` VALUES ('10', 'poitoux', 'bertrand', null);

    J'espère ne pas créer un sujet déjà traité.. j'ai cherché mais n'ai rien trouvé correspondant.
    Bonne journée !

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Probablement avec la fonction GROUP_CONCAT :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      select fm1.nom, fm1.prenom,
             group_concat(fm2.prenom order by fm2.id asc separator ", ") as parente
        from familles as fm1
             left outer join familles as fm2
               ON fm2.nom = fm1.nom
              AND fm2.id <> fm1.id
    group by fm1.nom, fm1.prenom

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Ca marche parfaitement, c'est exactement ce que je recherchais
    Merci beaucoup !!

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

Discussions similaires

  1. Afficher les sous titres arabe dans une vidéo
    Par Coussati dans le forum Windows XP
    Réponses: 2
    Dernier message: 26/08/2009, 05h37
  2. Réponses: 2
    Dernier message: 09/07/2008, 11h34
  3. Réponses: 7
    Dernier message: 03/04/2008, 22h31
  4. Réponses: 3
    Dernier message: 11/07/2007, 10h10
  5. Afficher Un Lien se Trouvant Dans Une Base
    Par El-tiranos dans le forum ASP
    Réponses: 1
    Dernier message: 17/06/2007, 01h01

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