[firebase-br] DUAS SOMAS EM UMA SELECT

Rodrigo Paiola rpaiola-fct em unimar.br
Sex Set 23 08:48:25 -03 2005


Obrigado pessoal, ajudaram muito ! resolvi da seguinte forma para quem 
precisar da mesma solução:

select p.conta,
         sum(p.valor) as GASTO,
         sum(case p.tipoligacao
                     when 'P' then p.valor
                end) as COBRAR
from pabx p
where p.ano = '2005' and
      p.mes = '08'
group by p.conta

[]s

Rodrigo.


----- Original Message ----- 
From: "RedDevil" <reddevil em reddevil.eti.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Thursday, September 22, 2005 11:23 PM
Subject: Re: [firebase-br] DUAS SOMAS EM UMA SELECT


ola Rodrigo,

para o caso deste teu post ainda nao estar "vencido", e tambem para o
caso do case (ate rima: o caso do case...;o) nao ter dado certo, eu
estou colocando ae abaixo uma adaptaçao da SP que eu coloquei na roda
hoje pela manha...

aquela SP te retornava todos os registros da tabela usuarios, com as
suas respectivas somas, o que poderia torna-la um tanto quanto demorada...

esta versao ae abaixo vai te retornar as somas apenas do usuario que
voce passar como parametro para a SP...

create procedure persephone ( pcoduser )
returns(codusuario integer, nomusuario varchar(50), ts numeric(18,2), tp
numeric(18,2))
as
begin

select u.usuario, u.nomeusuario
from usuarios u
where u.usuario = :pcoduser
into :codusuario, :nomusuario

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

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

suspend;

end


boa sorte ae...


[]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.
>
>



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa



-- 
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.11.5/110 - Release Date: 22/9/2005




-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.11.5/110 - Release Date: 22/9/2005





Mais detalhes sobre a lista de discussão lista