PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

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

#1 25/08/2015 12:41:55

guil31
Membre

Dégrouper un champ à plusieurs valeurs en créant n enregistrements

Bonjour,


J'ai une table de ce type :

id ; zone
------------
1 ; "A"
2 ; "A,B,F"
3 ; "C,E"


J'aimerais obtenir cela :

id ; zone
------------
1 ; "A"
2 ; "A"
2 ; "B"
2 ; "F"
3 ; "C"
3 ; "E"


Je ne vois pas trop comment m'y prendre, est-ce quelqu'un a une idée?
Merci pour votre aide

Hors ligne

#2 25/08/2015 14:41:55

gleu
Administrateur

Re : Dégrouper un champ à plusieurs valeurs en créant n enregistrements

Avec les ordres de création et de remplissage de table, ça aurait été plus simple. Mais bon, ça devrait ressembler à ceci :

SELECT id, unnest(string_to_array(zone, ',')) FROM la_table;

Guillaume.

Hors ligne

#3 25/08/2015 14:49:31

guil31
Membre

Re : Dégrouper un champ à plusieurs valeurs en créant n enregistrements

Merci beaucoup
C'est exactement ce dont j'avais besoin!

Hors ligne

Pied de page des forums