On 26/9/2011 17:41, Thiago wrote:
> 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
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
Galera, consegui resolver lendo um exemplo aqui do news mesmo. Deixando
a primeira coluna como array eu consigo acessar os seus dados depois.
Obrigado!
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral