Pessoal, boa tarde.

Estou começando a utilizar o crosstab, porém estou com dificuldades para 
fazer o select desejado.
Tenho uma tabela na seguinte estrutura:

Filial
Ano
Mes
Produto
Qtde

Gostaria de fazer um select que trouxesse o resultado dos meses em 
coluna e agrupados por Filial+Produto+Ano.
O resultado ficaria asssim:

Filial Produto Ano Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez
1      1       10  0   0   1   1   2   2   0   1   3   0   0   2
1      1       11  1   1   0   2   1   0   1   0   0   0   0   0
2      1       10  0   0   0   0   0   0   0   0   0   0   0   0

Alguém poderia me ajudar com este select, pois tenho até os seguinte 
momento o seguinte comando:

select *
from crosstab('
        select Filial,Produto,Ano,Mes,Qtd
        from Tabela
        order by 1,2,3',
     'select m from generate_series(1,12) m')
as (
     "Filial" integer,
     "Produto" integer,
     "Ano" integer,
     "Jan" integer,
     "Fev" integer,
     "Mar" integer,
     "Abr" integer,
     "Mai" integer,
     "Jun" integer,
     "Jul" integer,
     "Ago" integer,
     "Set" integer,
     "Out" integer,
     "Nov" integer,
     "Dez" integer
)

Porém, não encontrei ainda um exemplo com mais de três colunas.
Alguém poderia me ajudar com essa query?

Obrigado!

_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a