COMO EU FACO ESSE SELECT

WEBIER 13/03/2011 15:18:11
#367903
Tenho a seguinte SQL: [txt-color=#e80000]FUNCIONANDO[/txt-color]!
SQL = [Ô]SELECT iif(PARCELAS.COD_PEDIDO = 0 , PARCELAS.COD_OS , PARCELAS.COD_PEDIDO) as var_CODIGO, CLIENTE.CODIGO, (PARCELAS.JUROS) as varValorJuros, CLIENTE.NOME, PARCELAS.*, (PARCELAS.PAGAMENTO) AS var_ParcPgto, (PEDIDOS.PAGAMENTO) AS var_TipoPgto, iif(PARCELAS.STATUS = false , [ô]Á PAGAR[ô] , [ô]PAGO[ô]) as PAGO, PEDIDOS.*, iif(PARCELAS.COD_PEDIDO = 0 , [ô]OS[ô] , [ô]PEDIDO[ô]) as var_TIPO, iif(PARCELAS.DATA <= date() , (DATE() - PARCELAS.DATA) , [ô]0[ô]) as var_Atrazo, (((PARCELAS.VALOR * [Ô] & Replace(var_JurosDia, [Ô],[Ô], [Ô].[Ô]) & [Ô])/100) * var_Atrazo) as var_Juros, (PARCELAS.VALOR - var_Haver + var_Juros ) as var_Total, (Select iif(Sum(VALOR_HAVER) IS NULL, [ô]0[ô], Sum(VALOR_HAVER))  From PARCELAS_HAVER Where PARCELAS_HAVER.COD_PARCELA = PARCELAS.CODIGO) as var_Haver FROM CLIENTE INNER JOIN (PARCELAS INNER JOIN PEDIDOS ON PARCELAS.COD_PEDIDO = PEDIDOS.COD_PEDIDO) ON CLIENTE.CODIGO = PEDIDOS.COD_CLIENTE[Ô]


essa parte dessa SQL:
...iif(PARCELAS.DATA <= date() , (DATE() - PARCELAS.DATA) , [ô]0[ô]) as var_Atrazo...
se a parcela tiver vencida (PARCELAS.DATA <= date()) ele vai calcular quantos dias ((DATE() - PARCELAS.DATA))... até ai beleza

agora estou precisando fazer a seguinte alteração:
preciso verificar se a parcela está paga ou não... ou seja PARCELAS.STATUS = true ou PARCELAS.STATUS = false

se a parcela não estiver paga entao
qualcula quantos dias está vencida
se a parcela estive paga entao
pega o valor que está no campo PARCELAS.DIAS_ATRAZO
fim

if PARCELAS.STATUS = false then
(DATE() - PARCELAS.DATA) as var_Atrazo
else
PARCELAS.DIAS_ATRAZO as var_Atrazo
end if


como eu faço isso nessa SQL que vai jogar varios registros no grid ?
MARCELO.TREZE 13/03/2011 19:00:33
#367911
Resposta escolhida
tente isso

na parte mostrada por vc

iif(PARCELAS.STATUS = false, iif(PARCELAS.DATA <= date() , (DATE() - PARCELAS.DATA) , [ô]0[ô]), PARCELAS.DIAS_ATRAZO) as var_Atrazo


bom eu coloquei um iif dentro do iff porem com a seguinte condição

se a parcela não estiver paga e se estviver vencida faz o que vc deseja, veja se funciona


Tópico encerrado , respostas não são mais permitidas