Vous n'êtes pas identifié(e).

#1 13/11/2013 14:10:02

lea
Membre

Regroupement de valeur au sein d'un seul champs

Bonjour à tous,

je suis bloquée par un petit problème :
j'ai une table comme suit :

field1        field2         field3
1            A            p1   
2            B            p2
3            C            p3
4            D            p4
5            A            p5
6            B            p6
7            A            p7

Et j'aimerais obtenir :

field1        field2         field3
1            A            p1 p5 p7   
2            B            p2 p6
3            C            p3
4            D            p4

ou

field1        field2         Newfield
1            A            p1 p5 p7   
2            B            p2 p6
3            C            p3
4            D            p4

Voyez-vous comme je pourrais procéder ?

ça fait quelques jours que je cherche une solution mais n'étant pas une spécialiste, je bloque ... c'est l'insertion dans un champs existant ou un nouveau champs de plusieurs valeurs d'une même table ayant la même valeur dans field2 qui me pose problème et il s'agit de champs character varying ou text ...

J'espère avoir été claire ;D

D'avance merci

léa

Hors ligne

#2 13/11/2013 14:17:06

rjuju
Administrateur

Re : Regroupement de valeur au sein d'un seul champs

Bonjour,

si le champ field3 est de type text, vous pouvez utiliser string_agg :

SELECT field1, field2, string_agg(field3,' ') as newfield FROM nom_table GROUP BY field1, field2;

Hors ligne

#3 13/11/2013 14:56:28

lea
Membre

Re : Regroupement de valeur au sein d'un seul champs

Super, merci ... je ne connaissais pas la fonction ... merci beaucoup et bonne journée

Hors ligne

Pied de page des forums