[firebase-br] RES: Ajuda com select

Ivan Guimarães Meirelles igmeirelles em gmail.com
Qua Abr 7 16:04:14 -03 2010


Olá Alysson...

veja essa matéria:   
http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!178.entry

é sobre SQL Server... mas vc pode tirar uma idéia e converter para Firebird.

Espero ter ajudado.
Um abraço...

Em 07/04/2010 14:40, Alysson Azevedo escreveu:
> 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
>>
>>      
> ______________________________________________
> 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