[firebase-br] DUAS SOMAS EM UMA SELECT

RedDevil reddevil em reddevil.eti.br
Qui Set 22 10:34:30 -03 2005


ola Rodrigo,

caso o metodo indicado pelo Rodrigo (o outro... teu xara...;o) nao 
funcionar, se der zica no case, tente fazer usando essa stored procedure 
selecionavel que eu estou colocando na roda, ae abaixo:

create procedure zeus
returns(codusuario integer, nomusuario varchar(50), ts numeric(18,2), tp 
numeric(18,2))
as
begin
for select u.usuario, u.nomeusuario
      from usuarios u
      order by u.nomeusuario
      into :codusuario, :nomusuario
do
begin

select sum(p.valor) from pabx p
where <p.campo_codigo_do_usuadio> = :codusuario and p.tipoligacao = 'S'
into :ts;

select sum(p.valor) from pabx p
where <p.campo_codigo_do_usuadio> = :codusuario and p.tipoligacao = 'P'
into :tp;

suspend;

end
end


[]s
força sempre.
ate +++

--
Luiz "RedDevil" Stefanski - Linux User #399026
http://www.RedDevil.eti.br - Delphi 4 Powered by IBObjects
exemplos e dicas sobre o IBObjects:
http://www.firebase.com.br/cgi-bin/firebase.cgi/dnld?ID=165
compilaçao/instalaçao do IBObjects sabor BPG:
http://www.firebase.com.br/cgi-bin/firebase.cgi/artigo?ID=630



Post By Rodrigo Paiola:
> Caros amigos
> 
> Preciso fazer duas somas em uma unica select, mais ou menos assim:
> 
> select u.usuario,
>         u.nomeusuario,
>         case u.tipoligacao
>            when = 'P' then sum(p.valor)
>          end as Total_Particular,
>          sum(p.valor) as Total_Serviço
> from usuarios u, pabx p
> 
> preciso que o resultado da query seja:
> 
> usuario     nomeusuario                total_particular      total_Servico
> 00522     RODRIGO PAIOLA                 12,00                  5,00
> 
> QUERO SOMAR DE ACORDO COM O TIPO, ISSO É POSSIVEL ?
> 
> a tabela está assim (PABX):
> 
> 00522  12/12/2005  P     1,20
> 00522  13/10/2005  P     0,60
> 00522  13/10/2005  S     0,70
> 00743  13/10/2005  P     0,80
> 
> quero agrupar por usuário como mostrei no resultado acima !
> 
> Obrigado
> 
> Rodrigo.
> 
> 






Mais detalhes sobre a lista de discussão lista