Une table est structurée ainsi :
L'objectif est d'afficher la liste ainsi :
Nous allons nous appuyer sur la capacité de Postgresql à gérer les données sous forme de tableau. Pour cela, les données de la colonne data_other vont être regroupées dans un champ de type tableau dans une première requête, puis chaque valeur du tableau sera affichée dans une nouvelle colonne.
with req as (select id, array_agg (data_other) as data_otherfrom tablegroup by id order by 1)select id, data_other[1] as data1, data_other[2] as data2 from req;