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

PostgreSQL Discussion :

Concaténation du même champ


Sujet :

PostgreSQL

  1. #1
    Membre actif Avatar de _Carole
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2013
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 105
    Points : 264
    Points
    264
    Par défaut Concaténation du même champ
    Bonjour,
    Je vous présente le résultat d'une requête toute simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT distinct codebudget, resp
    FROM RSMEQUIP, RSMIND
    WHERE rsmequip.code=rsmind.codebudget
    group by codebudget, resp
    order by codebudget;
    CodeBudget | Resp
    ----------------------------------------------
    100715-1 | DUPONT, Emilie
    100715-1 | MARTIN, Anthony
    101214-1 | BOBY, Dominique
    101214-2 |
    101214-2 | BOBY, Dominique
    11664-1 | VROUM, Caroline

    Comme vous pouvez le voir, je ne sais pas dessiner un tableau avec des tirets, pour un code, il y a plusieurs responsables.

    J'aimerai obtenir une ligne pour chaque code et donc, je me demandais si il était possible de concaténer les champ responsable qui ont le même code budget (et si oui, comment ?!) ?!
    Je connais CONCAT mais je ne vois pas bien comment lui expliquer que c'est le même champ...

    Résultat attendu donc :

    CodeBudget | Resp
    ----------------------------------------------
    100715-1 | DUPONT, Emilie MARTIN, Anthony
    101214-1 | BOBY, Dominique
    101214-2 | BOBY, Dominique
    11664-1 | VROUM, Caroline

    En vous remerciant d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Vous pouvez utiliser string_agg :

    Au passage, vous pouvez enlever le DISTINCT qui ne sert a rien.
    J'ai l'impression que vous pouvez aussi vous passer de la jointure, et ne faire la requête que sur une des deux table, puisque d'après la jointure, les deux tables possédent la colonne CODE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT codebudget, string_agg(resp, ';')
    FROM RSMEQUIP, RSMIND
    WHERE rsmequip.code=rsmind.codebudget
    GROUP BY codebudget
    ORDER BY codebudget;

  4. #4
    Membre actif Avatar de _Carole
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2013
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 105
    Points : 264
    Points
    264
    Par défaut
    Bonjour!
    Merci pour cette solution que je ne connaissais pas , c'est exactement ce que je recherchais.

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

Discussions similaires

  1. [2005] Concaténation de plusieurs champs dans une même colonne
    Par madhouse2891 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 31/05/2017, 20h19
  2. Réponses: 13
    Dernier message: 26/06/2015, 14h33
  3. [AC-2007] Concaténation de plusieurs champs d'un même enregistrement
    Par Nephyline dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 17/08/2009, 13h52
  4. [MySQL] concaténation plusieurs données même champs d'une table MYSQL
    Par creative69 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/07/2008, 17h58
  5. Requête SQL pour concaténer un même champs
    Par aureliegro dans le forum IHM
    Réponses: 14
    Dernier message: 18/12/2007, 15h00

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