PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Query pivot dinamiche utilizzando 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);

Spiegazione dettagliata:

  • Query a campi incrociati PostgreSQL
  • Pivota su più colonne utilizzando Tablefunc

Query completamente dinamica per un numero variabile di Salescountry distinti ?

  • Alternativa dinamica al pivot con CASE e GROUP BY