kania 0 Denunciar post Postado Setembro 3, 2008 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
lcs_sp 0 Denunciar post Postado Setembro 3, 2008 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
kania 0 Denunciar post Postado Setembro 3, 2008 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
giesta 29 Denunciar post Postado Setembro 3, 2008 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
kania 0 Denunciar post Postado Setembro 3, 2008 Estranho não deu erro no código porem também não retornou nada Compartilhar este post Link para o post Compartilhar em outros sites
kania 0 Denunciar post Postado Setembro 4, 2008 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