[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