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);
Explicação detalhada:
- Consulta de tabela cruzada PostgreSQL
- Pivotar em várias colunas usando Tablefunc
Consulta completamente dinâmica para um número variável de
Salescountry
distintos ? - Alternativa dinâmica para dinamizar com CASE e GROUP BY