Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kania

Sum com regra aritimética

Recommended Posts

Olá pessoal, tenho o seguinte select,

 

SELECT inscricao, datamovimento, ((sum(format(valor,2)) and sinal ='c') - (sum(format(valor,2)) and sinal ='d')) as total FROM `CONTACORRENTE3` WHERE datamovimento >'2008-08-08' group by inscricao order by inscricao asc limit 100

Porem o resultado do cálculo esta vindo sempre o toal como '1' alguém sabe se eu estou efetuando o calculo errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

A sua consulta esta meio estranha, você esta formantando o campo valor e diminuindo com o valor também. eu acho que você quer agrupar os valores so sinal=C e diminuir com o valor do sinal=D se for isso não vai funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade stou tentando somar os campos que tenham sinal d e depois diminuir a soma dos campos que tenham sinal d, o agrupamento esta sendo feito pela inscricao, porem não esta dando certo, não da erro só que retorna sempre como '1'

Compartilhar este post


Link para o post
Compartilhar em outros sites

select inscricao, max(datamovimento) ultimo_movimento,

sum( c ) credito, sum(d) debito, (sum( c )-sum(d)) total

from

(

SELECT inscricao, datamovimento,

 

if(sinal='c',valor,0) c,

if(sinal='d',valor,0) d

 

FROM

CONTACORRENTE3

WHERE

datamovimento >'2008-08-08'

)abc

group by inscricao

order by inscricao asc

limit 100

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai pessoal se alguém queiser, consegui descobrir como fazer dentro de um mesmo select o calculo

 

SELECT COALESCE(SUM(CASE sinal WHEN 'C' THEN valor ELSE - valor END), 0) saldo FROM CONTACORRENTE3 WHERE INSCRICAO='"&INSCRICAOASSOCIADO&"' and datamovimento >= '"&DATAINICIALCONV&"' and datamovimento < '"&DATAFINALCONV&"'

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.