[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