[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