[firebase-br] SQL de período com retorno por dia

José Mauricio Barbisan Zottis bzottis em ig.com.br
Sex Ago 16 16:26:11 -03 2013


Nossa!!!!!! bem mais claro, inclusive resolvido.


muito obrigado, no caso do select não tem que passar a o período?




Em 16 de agosto de 2013 16:10, Renan Rogowski Pozzo
<renanrpozzo em gmail.com>escreveu:

> O retorno é diário, dentro do período que você pedir. Mais ou menos assim
>
> "create or alter procedure TESTE (
>     DT_INICIAL date,
>     DT_FINAL date)
> returns (
>     DATA date,
>     RECEBER numeric(18,4),
>     PAGAR numeric(18,4))
> as
> declare variable DATAR date;
> declare variable DATAP date;
> declare variable REC numeric(18,4);
> declare variable PAG numeric(18,4);
> begin
>     for
>     -- select para retornar todas as contas a receber no periodo
>         select data, valor
>         from tabela_receber tcr
>         where data between :dt_inicial and :dt_final
>         into :datar, :rec
>     do
>     begin
>     -- aqui ele vai exibir os dados e na coluna do pagar vai ficar sempre
> zero
>         data= :datar;
>         receber = :rec;
>         pagar = 0;
>         suspend;
>     end
>     for
>     -- select para retornar todas as contas a pagar no periodo
>         select data, valor
>         from tabela_pagar tcp
>         where data between :dt_inicial and :dt_final
>         into :datap, :pag
>     do
>     begin
>     -- aqui ele vai exibir os dados e na coluna do receber vai ficar sempre
> zero
>           data= :datap;
>           receber = 0;
>           pagar= pag;
>           suspend;
>     end
> end"
>
>
> Depois você chama procedure somando os campos e agrupando.
>
> "select data, sum(receber), sum(pagar) from teste grouop by data"
>
> Aí ele exibe só uma vez cada dia totalizando o que é receber e o que é
> pagar.
>
> Espero ter ficado mais claro.
> Abraço,
> Renan
>
>
>
> Em 16 de agosto de 2013 15:36, José Mauricio Barbisan Zottis <
> bzottis em ig.com.br> escreveu:
>
> > são duas tabelas ctapag e ctarec
> >
> >
> > Em 16 de agosto de 2013 15:28, Renilson Santos Moura <rsmybr em gmail.com
> > >escreveu:
> >
> > > Boa tarde!
> > >
> > > Considerando que os mesmos registros estejam na mesma tabela, segue
> > abaixo
> > > uma sugestão:
> > >
> > > SELECT DATA,
> > > SUM(CASE TIPO_CONTA WHEN 'PAGAR' THEN VALOR ELSE 0 END) PAGAR,
> > > SUM(CASE TIPO_CONTA WHEN 'RECEBER' THEN VALOR ELSE 0 END) RECEBER
> > > FROM COMPROMISSO
> > > WHERE DATA BETWEEN ':DATA1' AND ':DATA2'
> > > GROUP BY 1
> > >
> > > []s
> > >
> > > Renilson
> > >
> > >
> > > Em 16 de agosto de 2013 15:06, Renan Rogowski Pozzo
> > > <renanrpozzo em gmail.com>escreveu:
> > >
> > > > Boa tarde,
> > > > uma sugestão seria fazer uma procedure que retorne todas as contas a
> > > > receber e pagar do período. Onde quando for conta a receber o valor
> do
> > > > pagar fica zero e quando for pagar o valor do receber fique zero.
> > > > Ex.:
> > > > Data           Receber  Pagar
> > > > 14/08/2013  12,00      0,00
> > > > 14/08/2013   0,00      12,00
> > > > 15/08/2013  12,00      0,00
> > > > 15/08/2013   0,00      12,00
> > > >
> > > > Depois você faz um select na procedure somando os valores e agrupando
> > por
> > > > data.
> > > > Ex.:
> > > > select data, sum(receber), sum(pagar) from nome_procedure group_by
> data
> > > >
> > > > Espero ter ajudado.
> > > > Abraço,
> > > > Renan
> > > >
> > > >
> > > > Em 16 de agosto de 2013 14:18, José Mauricio Barbisan Zottis <
> > > > bzottis em ig.com.br> escreveu:
> > > >
> > > > > Pessoal, estou precisando fazer um sql que me retorne as contas a
> > > > receber e
> > > > > a pagar que vencem no dia
> > > > >
> > > > > exemplo:
> > > > >
> > > > >
> > > > > periodo 01/08/2013 até 10/08/2013
> > > > >
> > > > >                            contasRec        ContaPag
> > > > > dia 01/08/2013          100,00               35,00
> > > > > dia 02/08/2013          245,00               340,00
> > > > > dia 03/08/2013          800,00               600,00
> > > > > ..........
> > > > >
> > > > > algué saberia como fazer?
> > > > > no Delphi até sei que com um while da pra fazer, mas acredito que
> > > direto
> > > > em
> > > > > sql seria mais rápido.
> > > > >
> > > > >
> > > > > 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
> > >
> > ______________________________________________
> > 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