2 votes

Convertir mes colonnes en lignes dans postgresql sans créer d'extensions

J'ai un résultat de données provenant d'une vue comme ci-dessous,

Current view

Mais je veux une vue comme celle-ci

Need a view from the original view

Quelqu'un peut-il m'aider à faire cela via postgresql sans utiliser d'extensions.

4voto

Zaynul Abadin Tuhin Points 12097

Utiliser l'agrégation

select project, max(case when role='owner' then name end) as owner,
 max(case when role='client' then name end) as client,
 max(case when role='Team' then name end) as Team
from table 
group by project;

Vous pouvez également utiliser l'option filter() ce qui rend la lecture un peu plus facile :

select project, 
       max(name) filter (where role='owner') as owner,
       max(name) filter (where role='client') as client,
       max(name) filter (where role='Team') as Team
from table 
group by project;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X