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 07/06/2018 11:06:25

sa0chan
Membre

Aide pour crosstab

Bonjour à tous,

Je débute en SQL.   Après plusieurs recherches, je crois qu'il faut que je fasse un crosstab mais je ne comprend pas bien les explications et leurs exemples.
Voici mon problème :

J'aurais besoin de créer une table qui rassemblerais plusieurs colonne
Je m'explique

ma table actuelle

Nom_associe_1 | date_naissance associe_1| Nom_associe_2 | date_naissance associe_2| Nom_associe_3 | date_naissance associe_3
marie               | 2000-08-14                     |pierre               | 2003-07-14                     |paul                  | 1998-03-05                   

Je souhaiterais ne créer qu'une colonne nom et une colonne date de naissance

nouvelle table

Nom_associes| date_naissance
marie               | 2000-08-14             
pierre               | 2003-07-14               
paul                  | 1998-03-05         


Je vous remercie d'avance pour votre aide.

Hors ligne

#2 07/06/2018 14:23:40

dverite
Membre

Re : Aide pour crosstab

Décidément le crosstab est à la mode en ce moment smile

Dans votre exemple c'est le contraire, vous voulez dé-pivoter. Les fonctions crosstab() ne font pas ça.
S'il n'y a que 3 colonnes, ça peut être fait à la main avec 3 Select combinés avec UNION ALL, sinon la méthode générique mentionnée à la fin de ce billet peut faire l'affaire aussi:

http://blog-postgresql.verite.pro/2018/ … pivot.html

Hors ligne

#3 07/06/2018 14:39:50

sa0chan
Membre

Re : Aide pour crosstab

smile Merci !
ça me semble bien expliqué dans votre lien . Mais en effet je vais me rabattre sur un union, ça me semble plus approprié.

Bonne journée !

Hors ligne

Pied de page des forums