Bom dia pessoal, tenho a seguinte select de exemplo
SELECT cartao.Nome
cartao.NSU
cartao.TRANSACAO
cartao.ABERTO
cartao.CARTAO_HASH
relatorio.CARTAO_CRIPTOGRAFADO
relatorio.CLIENTE
where relatorio.CARTAO_CRIPTOGRAFADO = cartao.CARTAO_HASH
and
relatorio.DATA < (SELECT DT_MOV from TRANSACOES where CD_TIP_ARQUIVO=1);
Eu preciso colocar um if antes do where, pois quero que a clausula WHERE funcione apenas se meu IF der false, mas não estou conseguindo, quero algo mais ou menos assim:
SELECT cartao.Nome
cartao.NSU
cartao.TRANSACAO
cartao.ABERTO
cartao.CARTAO_HASH
relatorio.CARTAO_CRIPTOGRAFADO
relatorio.CLIENTE
IF cartao.CARTAO_ABERTO != NULL THEN
where relatorio.CARTAO_CRIPTOGRAFADO = cartao.CARTAO_HASH
END IF
and
relatorio.DATA < (SELECT DT_MOV from TRANSACOES where CD_TIP_ARQUIVO=1);
Quero que ele caia no WHERE somente se o cartao.CARTAO_ABERTO fora diferente de nulo.