Partage
  • Partager sur Facebook
  • Partager sur Twitter

Jointure et doublons

Sujet résolu
    20 décembre 2010 à 11:03:03

    Bonjour,
    Imaginons les tables suivantes :
    personnages attributs_personnages attributs
    id_personnage id id_attribut
    nom_personnage id_attribut nom_attribut
    - id_personnage -


    Si je fais cette requête :
    SELECT nom_personnage, nom_attribut FROM personnages INNER JOIN attributs_personnages ON personnages.id_personnage = attributs_personnages.id_personnage INNER JOIN attributs ON attributs.id_personnage = attributs_personnages.id_personnage

    J'obtiens par exemple
    Jean épée
    Jean bouclier
    Bernard dague

    Existe-t'il un moyen de récuperer
    Jean épée, bouclier
    Bernard dague ?

    Mes tables sont-elles bien organisées?
    puis-je mieux faire?

    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      20 décembre 2010 à 11:05:50

      GROUP_CONCAT(string SEPARATOR ' ')

      SELECT nom_personnage, GROUP_CONCAT(nom_attribut SEPARATOR ', ') 
      FROM personnages 
      INNER JOIN attributs_personnages ON personnages.id_personnage = attributs_personnages.id_personnage 
      INNER JOIN attributs ON attributs.id_personnage = attributs_personnages.id_personnage
      GROUP BY nom_personnage
      
      • Partager sur Facebook
      • Partager sur Twitter
        20 décembre 2010 à 11:15:26

        Citation : Xdrei

        Bonjour,
        Mes tables sont-elles bien organisées?
        puis-je mieux faire?



        La clé primaire de attributs_personnages est (personnage_id,attribut_id) donc il est inutile de lui mettre un id autogénéré en prime.
        • Partager sur Facebook
        • Partager sur Twitter
          20 décembre 2010 à 17:46:39

          Merci pour vos réponses c'est exactement ce que je cherchais!
          • Partager sur Facebook
          • Partager sur Twitter

          Jointure et doublons

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown