Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
J'aimerais savoir comment construire une requete pivot.
Hors ligne
Bonjour,
Vous pouvez passer par l'extension tablefunc : https://www.postgresql.org/docs/current … efunc.html
Ou bien en utilisant la fonction décrite sur le wiki de PostgreSQL : https://wiki.postgresql.org/wiki/Pivot_query (jamais testé pour ma part).
Hors ligne
Il faut savoir si le besoin est un pivot avec colonnes statiques ou dynamiques.
Si la liste des colonnes est statique, la fonction crosstab() de tablefunc peut faire l'affaire.
Si la liste des colonnes est dynamique (peut changer d'une exécution à l'autre) il faut générer dynamiquement la requête qui va afficher les résultats pivotés. Cette requête peut être un crosstab mais quand on en est à la générer, on peut aussi bien produire une requête indépendante:
SELECT
autres colonnes,...
(CASE WHEN colonne='la valeur1' THEN expression END) AS "la valeur1",
... etc pour toutes les valeurs possibles de la colonnes
ce résultat étant la structure de base d'un pivot.
@DanielVerite
http://blog-postgresql.verite.pro/
Hors ligne
Pages : 1