1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Validação no Where [SQL Oracle]

Pesquisei sobre o assunto e percebi que muitas pessoas indicam o uso de case when ou outros comandos. O meu problema é que eu tenho comparar o valor de retorno de um sUbselect na minha clausula where principal.

SELECT FN.ID_TABELA_FN,
       (SELECT TB_PARAM.MY_PARAM
          FROM TB_QUE_CONTEM_MEU_PARAM TB_PARAM
         WHERE FN.FK_PARAM = TB_PARAM.ID_PARAM) AS MY_PARAM_RETURN
  FROM TABELA_FN FN
 WHERE FN.ID_FN > 0

Neste momento eu tenho como retorno o meu ID_TABELA_FN X MY_PARAM_RETURN já com a associação realizada. Porém eu gostaria de adicionar mais uma clausula no where dependendo do valor obtido em MY_PARAM_RETURN

exemplo:

..--Continuacao do código onde sera feito a validacao para a clausula where

CASE 
   WHEN MY_PARAM IS NOT NULL THEN
       --AQUI EU GOSTARIA DE CONCATENAR COM MINHA CLAUSULA WHERE
       AND MY_PARAM_RETURN = 9
  END

Descrevendo como um codigo Java eu gostaria de fazer o seguinte:

if(return_param != null){
 sql += "AND MY_PARAM_RETURN = 9";
}

Porém com SQL.

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags oracle sql ou faça a sua própria pergunta.