Annonce
Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).
En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.
#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: 95
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
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: 95
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