PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Requête pivot dynamique utilisant PostgreSQL 9.3

SELECT *
FROM   crosstab (
   'SELECT ProductNumber, ProductName, Salescountry, SalesQuantity
    FROM   product
    ORDER  BY 1'
, $$SELECT unnest('{US,UK,UAE1}'::varchar[])$$
  ) AS ct (
   "ProductNumber" varchar
 , "ProductName"   varchar
 , "US"   int
 , "UK"   int
 , "UAE1" int);

Explication détaillée :

  • Requête croisée PostgreSQL
  • Pivoter sur plusieurs colonnes à l'aide de Tablefunc

Requête entièrement dynamique pour un nombre variable de Salescountry distincts ?

  • Alternative dynamique au pivot avec CASE et GROUP BY