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 Procédural MySQL Discussion :

Concaténer les champs de plusieurs lignes en un seul


Sujet :

SQL Procédural MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 87
    Points
    87
    Par défaut Concaténer les champs de plusieurs lignes en un seul
    Bonjour à tous,

    soit une tables 'personnes'

    'id' (autoincrémenté) 'nom' 'prenom'

    et une table 'abonnements'

    'id' (autoincrémenté) 'personne_id' 'année'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      SELECT prenom, nom, count(*) 
        FROM personnes, abonnements 
       WHERE abonnements.personne_id = personnes.id 
    GROUP BY prenom, nom;
    me donne par ex.

    Jules | Trombone | 3

    si Jules a été abonné trois années.

    Ce que j'aimerais, c'est la liste des années dans ce troisième champs

    Jules | Trombone | 1983, 1984, 1985

    Est-ce faisable ?

    Merci d'avance,

    G.

  2. #2
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    Ça c'est du boulot pour la fonction GROUP_CONCAT

  3. #3
    Membre confirmé Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Points : 570
    Points
    570
    Par défaut
    Citation Envoyé par Maljuna Kris Voir le message
    Saluton,
    Ça c'est du boulot pour la fonction GROUP_CONCAT
    Exact

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT prenom, nom, group_concat(annee)
    FROM personnes, abonnements 
    WHERE abonnements.personne_id = personnes.id 
    GROUP BY prenom, nom;

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 87
    Points
    87
    Par défaut
    ça marche, merci beaucoup.

    G.

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

Discussions similaires

  1. Concaténer les données de plusieurs cellules en une seule
    Par mariafan dans le forum Macros et VBA Excel
    Réponses: 24
    Dernier message: 12/02/2021, 22h35
  2. [AC-2010] Requête: Rassembler les informations de plusieurs lignes en une seule
    Par albayt dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 21/11/2013, 22h05
  3. [2005] Concaténer les champs de plusieurs lignes
    Par Cryos dans le forum Développement
    Réponses: 10
    Dernier message: 11/03/2013, 10h36
  4. Concaténer les valeurs de plusieurs champs
    Par papa6 dans le forum Requêtes
    Réponses: 4
    Dernier message: 25/07/2009, 13h12
  5. "concaténer" plusieurs lignes dans un seul champ
    Par djobert dans le forum Langage SQL
    Réponses: 3
    Dernier message: 02/12/2008, 18h00

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