[firebase-br] RES: Ajuda com select

Alysson Azevedo agalysson em gmail.com
Qua Abr 7 15:40:11 -03 2010


Mas Daniel, esses D01, D02 .. não são fixos, eles são as datas existentes no
banco...
por exemplo, se um mes tiver movimento apenas nos dias 01, 05, 30, ele quer
as colunas "01","05","30"...
e se no outro mes tiver nos dias 04,15,28, vem as colunas "04","15","28"...

essas colunas devem ser "dinaminacas", de acordo com o mes fechado...
----------------------------------------------

Alysson Gonçalves de Azevedo
(11) 8491-7730

(\(''^_^ )/)


Em 7 de abril de 2010 15:28, Daniel (Vipa) <daniel em vipa.com.br> escreveu:

> Olá Thiago!
>
> Veja se isso pode te ajudar...
>
> Select a.filial,
>  (select sum(b.qtde)
>      from suatabela b
>      where b.data=:pdata and a.filial = b.filial) D01,
>  (select sum(b.qtde)
>      from suatabela b
>      where b.data=:pdata + 1 and a.filial = b.filial) D02,
>  (select sum(b.qtde)
>      from suatabela b
>      where b.data=:pdata + 2 and a.filial = b.filial) D03, ......
> from suatabela  a
>
>
> .... preencha com o período desejado ( :pdata + 3 .... :pdata + 4)
>
>
> ou então é só criar uma procedure selecionável onde você escolhe o mês/ano
> que deseja imprimir e ela te retorna dos dias devidamente totalizado por
> filial.
>
> Espero ter ajudado.
>
> Abraços,
>
> Daniel
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
> Em
> nome de Thiago
> Enviada em: quarta-feira, 7 de abril de 2010 13:57
> Para: lista em firebase.com.br
> Assunto: [firebase-br] Ajuda com select
>
> Galera, boa tarde.
>
> Tenho uma tabela na seguinte estrutura.
>
> filial qtde data
> 01     1    01/04/2010
> 01     3    01/04/2010
> 01     3    02/04/2010
> 01     8    03/04/2010
> 01     5    05/04/2010
> 02     3    01/04/2010
> 02     4    04/04/2010
> 03     1    02/04/2010
>
> Com esses dados gostaria de ter um select que me retornasse o resultado
> de vendas agrupadas por dia, até ai tudo tranquilo mas gostaria de
> trazer cada dia em uma coluna do select, da seguinte forma.
>
> FL D01 D02 D03 D04 D05
> 01 004 003 008 000 005
> 02 003 000 000 004 000
> 03 000 001 000 000 000
>
> Será que exite alguma forma de fazer essa quebra, mesmo que seja por
> função, o período utilizado vai sempre ser um mês fechado.
>
> Aproveitando o gancho, eu poderia fazer isso com uma função mas ficaria
> algo muito complicado, pois faria da seguinte forma.
>
> Criaria um tipo para o retorno e traria os dados agrupados por data +
> filial e depois eu não saberia como setar o dia na variavel, existe
> alguma forma de fazer no psql como se faz por exemplo em delphi setar um
> nome do campo por uma string?
>
> Obrigado.
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista