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
> pgbr-geral@listas.postgresql.org.br
> 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
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a