[firebase-br] Ajuda no select

Edson Condotta edson em ecsistemas.com.br
Ter Mar 11 18:36:11 -03 2008


resolva desta forma:

sum(
  case
    when ( (current_date - con_datavencimento) > 0 )
      then CON_VALOR +(CON_VALOR*6/100/30 ) * (current_date -
  con_datavencimento)
      else CON_VALOR
    end
) as resultado

DIMAS BOLOGNANI escreveu:
> Edson obrigado pela força mas não deu certo
> 
> meu select total é assim e o erro esta no final..
> 
> select
> extract(month from con_datavencimento)as mes,
> extract(year from con_datavencimento)as ano,
> sum(con_valor)as totalmes,
> 
> case
>   when ( (current_date - con_datavencimento) > 0 )
>     then sum( CON_VALOR +(CON_VALOR*6/100/30 ) * (current_date - 
> con_datavencimento) )
>     else sum(CON_VALOR)
>   end
> 
> from contasarec
> where con_codcliente = :vcliente
> group by 1,2
> 
> 
> Invalid token.
> Dynamic SQL Error.
> SQL error code = -104.
> Invalid expression in the select list (not contained in either an aggregate 
> function or the GROUP BY clause).
> 
> 
> DBSOFT INFORMÁTICA LTDA
> OURO FINO - MG
> TEL:(35)3341-5254 / 9978-8540
> Dimas Bolognani
> ----- Original Message ----- 
> From: "Edson Condotta" <edson em ecsistemas.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Tuesday, March 11, 2008 11:31 AM
> Subject: Re: [firebase-br] Ajuda no select
> 
> 
> Tens razão o IIF foi implementado na versão 2.0
> Tente utilizar o case desta forma:
> 
> case when "condicao" then "é verdadeiro" else "é falso" end
> 
> Deve rodar tranquilo na 1.5
> 
> DIMAS BOLOGNANI escreveu:
>> Edson Condotta,
>>
>> Cara não funcionou, será a versão do firebird? uso a 1.5.
>> Function unknown.
>>
>> DBSOFT INFORMÁTICA LTDA
>> OURO FINO - MG
>> TEL:(35)3341-5254 / 9978-8540
>> Dimas Bolognani
>> ----- Original Message ----- 
>> From: "Edson Condotta" <edson em ecsistemas.com.br>
>> To: "FireBase" <lista em firebase.com.br>
>> Sent: Tuesday, March 11, 2008 10:25 AM
>> Subject: Re: [firebase-br] Ajuda no select
>>
>>
>> utilize desta forma:
>>
>> iif((current_date - con_datavencimento ) > 0 ,sum(CON_VALOR
>> +(CON_VALOR*6/100/30 )*(current_date - con_datavencimento) ),
>> sum(CON_VALOR)) as totalcjuros
>>
>> a sintaxe do IIF é a seguinte:
>>
>> IIF(condição , "é verdadeiro", "é falso")
>>
>> [ ]'s
>> Edson
>>
>> DIMAS BOLOGNANI escreveu:
>>> Bom dia pra todos
>>>
>>> Alguem poderia me ajudar neste select..preciso de fazer uma condição p/
>>> calcular um campos com juros.
>>>
>>> ex:
>>> select extract(month from con_datavencimento)as mes, extract(year from
>>> con_datavencimento)as ano,
>>> // este é o total sem juros
>>> sum(con_valor)as totalmes,
>>>
>>> // Não consigo aplicar esta consigção
>>> // se os dias de atrazo for maior de 0 calcule o total c/ juros
>>> if ( (current_date - con_datavencimento ) > 0 ) then
>>>  sum(CON_VALOR + (CON_VALOR * 6 /100/30 ) * (current_date -
>>> con_datavencimento) )as totalcjuros
>>> else
>>>  sum(CON_VALOR)as totalcjuros,
>>>
>>> from contasarec where con_codcliente = :vcliente
>>> group by 1,2
>>>
>>>
>>> Atenciosamente,
>>>
>>> DBSOFT INFORMÁTICA LTDA
>>> OURO FINO - MG
>>> TEL:(35)3341-5254 / 9978-8540
>>> Dimas Bolognani
>>> ______________________________________________
>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>
>>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>>
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: 
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 
> 




Mais detalhes sobre a lista de discussão lista