Dentro de um bloco condicional tradicional como o "IF THEN ELSE" por exemplo, caso uma condição seja verdadeira podemos executar um ou mais comandos, assim como também se for negativa.
IF <CONDIÇÃO> THEN
<COMANDO 1>
<COMANDO 2>
<COMANDO 3>
ELSE
<COMANDO 1>
<COMANDO 2>
<COMANDO 3>
END IF;
* Sessão "viagem":
[code]
DECODE(FORMA_PAGTO, -1, 'PRAZO' AND PGTO_PRAZO AND PGTO_VISTA = 0,
0, 'VISTA' AND PGTO_VISTA AND PGTO_PRAZO =0)
CASE
WHEN (DECODE(FORMA_PAGTO, -1, 'PRAZO', 0, 'VISTA') AS MODALIDADE
THEN DECODE(MODALIDADE, -1, PGTO_VISTA, 0, PGTO_PRAZO)
END AS pagamento
A situação é a seguinte, eu tenho que verificar em uma tabela de pagamentos se a forma de pagamento foi feita a vista ou a prazo, também tenho duas colunas PGTO_VISTA e PGTO_PRAZO, caso o pagamento tenha sido feito a prazo o campo PGTO_PRAZO deverá aparecer com o seu valor e o PGTO_VISTA, deverá aparecer zerado e vice e versa, caso o pagamento tenha sido efetuado a vista o campo PGTO_VISTA tem que exibir o valor da compra e por sua vez o PGTO_PRAZO deverá aparecer com zero.
A minha dúvida é, que eu tenho que exibir os dois campo no resultado do select, porém esses dependem da condição de um terceiro que influenciará no valor que será impresso dos campos anteriores