GARANTIR DESCONTO

Fórum Verificador if else na cláusula where - sql #532365

21/09/2015

0

Pessoal, preciso de um select que no where, faça uma verificação assim: se ( tiporelatorio = 'pagos' ) então usaria a condição que busca uma data de pagamento, agora, se (tiporelatorio = 'aberto') buscaria o que ainda não foi pago.

Meu select tá assim, sendo que ele só tá fazendo a verificação do que foi pago:

select p.codcli, c.cliente, p.prest, p.valor, p.dtvenc, p.dtpag, sysdate - p.dtvenc as atraso 
from pcprest p join pcclient c on (p.codcli = c.codcli)
where
p.dtpag > p.dtvenc
and p.dtvenc < sysdate 
and p.dtvenc between :dtinicio and :dtfim 
and p.CODCOB not in ('DEVP', 'DEVT', 'BNF', 'BNFT', 'BNFR', 'BNTR', 'BNRP', 'CRED','DESD')


eu precisava de algo tipo assim:

select ...
from...
where if :tiporelatorio like 'pago' then
p.dtpag > p.dtvenc
else if :tiporelatorio like 'aberto' then
p.dtpag is null


já tentei de várias formas fazer uma busca desse tipo mas não estou conseguindo
Eduardo Lima

Eduardo Lima

Responder

Posts

21/09/2015

Fernando C

pesquise por case.. when
Responder

Gostei + 0

21/09/2015

Eduardo Lima

Tentei de algumas formas mas continua me retornando erro..
pesquise por case.. when
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar