Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Mon 13 January 2020 11:15

preliator
Participant assidu
Date d'inscription: 17 Nov 2018
Messages: 433

Réordonner les colonnes en SQL

Bonjour à tous,

Sur Postgre, j'aimerais pouvoir réordonner plusieurs colonnes en une seule afin de pouvoir faire des analyses dessus.

Admettons une BDD comme ceci :

Code:

PRENOM TYPE1 TYPE2 TYPE3

JULIE CHIEN CHAT PONEY
FRED MOUTON CHEVAL
OCEANE DOUDOUNE CHAUSSURE

Je souhaiterais le transformer en ceci :

Code:

PRENOM TYPE

JULIE CHIEN
JULIE CHAT
JULIE PONEY
FRED MOUTON
FRED CHEVAL
OCEANE DOUDOUNE
OCEANE CHAUSSURE

Est-il possible de le faire en SQL ? Merci

Hors ligne

 

#2 Mon 13 January 2020 11:48

Ben22
Participant actif
Lieu: 33
Date d'inscription: 11 May 2016
Messages: 96

Re: Réordonner les colonnes en SQL

Bonjour,

Il y a peut-être plus simple mais voici une solution :

Code:

SELECT "PRENOM", unnest(ARRAY["TYPE1", "TYPE2", "TYPE3"]) as TYPE FROM MA_TABLE

Hors ligne

 

#3 Mon 13 January 2020 14:43

preliator
Participant assidu
Date d'inscription: 17 Nov 2018
Messages: 433

Re: Réordonner les colonnes en SQL

Un grand merci smile

Hors ligne

 

#4 Mon 13 January 2020 14:47

preliator
Participant assidu
Date d'inscription: 17 Nov 2018
Messages: 433

Re: Réordonner les colonnes en SQL

Est-il possible d'inverser le processus ?

De passer de

Code:

PRENOM TYPE

JULIE CHIEN
JULIE CHAT
JULIE PONEY
FRED MOUTON
FRED CHEVAL
OCEANE DOUDOUNE
OCEANE CHAUSSURE

à


Code:

PRENOM TYPE1 TYPE2 TYPE3

JULIE CHIEN CHAT PONEY
FRED MOUTON CHEVAL
OCEANE DOUDOUNE CHAUSSURE

Merci

Hors ligne

 

#5 Mon 13 January 2020 15:10

Ben22
Participant actif
Lieu: 33
Date d'inscription: 11 May 2016
Messages: 96

Re: Réordonner les colonnes en SQL

Je le verrais bien comme ça :

Code:

SELECT "PRENOM", type_arr[1], type_arr[2],type_arr[3] FROM (SELECT "PRENOM", array_agg("TYPE") as type_arr FROM MA_TABLE GROUP BY "PRENOM") t1

Hors ligne

 

#6 Mon 13 January 2020 15:38

preliator
Participant assidu
Date d'inscription: 17 Nov 2018
Messages: 433

Re: Réordonner les colonnes en SQL

Cela marche super. Merci beaucoup

Hors ligne

 

Pied de page des forums

Powered by FluxBB