[firebase-br] RES: Sum - valores absolutos

Ivan Guimarães Meirelles igmeirelles em gmail.com
Sex Dez 8 09:54:21 -03 2006


Olá...

Também poderia ficar assim:

SELECT  DIA,
       SUM(CASE WHEN VALOR > 0 THEN VALOR ELSE VALOR*-1 END) AS DIF_TOTAL 
FROM TABELA_DADOS GROUP BY DIA


Um abraço...



-----Original Message-----
From: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
On Behalf Of Mauro Brito
Sent: sexta-feira, 8 de dezembro de 2006 09:29
To: FireBase
Subject: Re: [firebase-br] RES: Sum - valores absolutos

Bom dia,

Agradeço a colaboração de todos e abaixo transcrevo como ficou o select após
as várias soluções apontadas.

muito obrigado a todos

abraços

SELECT  DIA,
       SUM(CASE WHEN VALOR > 0 THEN VALOR ELSE 0 END) +
       (SUM(CASE WHEN VALOR < 0 THEN VALOR ELSE 0 END)*-1) AS DIF_TOTAL FROM
TABELA_DADOS GROUP BY DIA



Marcus Vinicius escreveu:

>Seria algo assim ?
>
>SELECT  DIA,
>       SUM(CASE WHEN VALOR > 0 THEN VALOR END) AS SOBRA,
>       SUM(CASE WHEN VALOR < 0 THEN VALOR END) AS FALTA FROM 
>Tabela_dados GROUP BY DIA
>
>
>
>
>Ateciosamente
>Marcus Vinicius
>marcus.vinicius112 em terra.com.br
>
>
>
>-----------------------------------------------------------------------
>-----
>----
>
>Não mostre para os outros o endereço eletronico de seus amigos. Use Cco 
>ou Bcc Retire os endereços dos amigos antes de reenviar Dificulte a 
>disseminação de vírus e baneers .
>
>-----------------------------------------------------------------------
>-----
>----
>
>-----Mensagem original-----
>De: lista-bounces em firebase.com.br 
>[mailto:lista-bounces em firebase.com.br]Em
>nome de Mauro Brito
>Enviada em: quinta-feira, 7 de dezembro de 2006 17:05
>Para: FireBase
>Assunto: Re: [firebase-br] Sum - valores absolutos
>
>Bom dia,
>
>resolvi colocando um campo computed by que armazena o valor absoluto da 
>diferença, dessa forma faz com que o select seja simples, se alguém 
>tiver outra idéia melhor aceito sugestão,
>
>obrigado
>
>
>Mauro Brito escreveu:
>
>  
>
>>Bom dia,
>>
>>tenho um campo que armazena as diferenças ocorridas dia a dia, que 
>>podem ser a mais ou a menos (ou seja falta ou sobra), representadas 
>>por um campo maior ou menor que zero.
>>
>>A dúvida:
>>Tem como eu somar em um único select o total das faltas e das sobras, 
>>sem que uma compense a outra?
>>
>>no  ->  select sum(dif) from ...     vai compensar as sobras com as
>>faltas de outro dia
>>
>>poderia  colocar um where dif>0 e dif<0   mas teria que fazer dois selects
>>
>>a idéia seria somar os valores absolutos desse campo, mesmo que esse 
>>valor retornasse em dois campos, um para as faltas e outro para as sobras.
>>
>>Tem como ?
>>
>>Desde já agradeço a atenção
>>
>>abraços a todos
>>
>>
>>
>>______________________________________________
>>FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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
>>
>>
>>
>>
>>    
>>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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
>
>
>  
>

______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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





Mais detalhes sobre a lista de discussão lista