Ir para conteúdo
vagner.analista

Condição de Select com valor null

Recommended Posts

Senhores boa tarde, alguém pode me ajudar?

 

Tenho a seguinte situação, um campo data em duas tabelas, onde caso o contrato tenha aditivo o campo data da tabela TITMCNTADITIVO,  fica preenchido. caso o contrato não tem aditivo ela fica com o valor null. Então caso o valor dessa tabela aditivo estiver null, eu gostaria de apresentar o campo data da tabela TITMCNT do contrato que tem a data fim do contrato, com o select abaixo eu consigo saber se tem aditivo ou não:

SELECT TOP 1 
 (DATA + 90) AS DATAFIM
            
FROM TITMCNTADITIVO (NOLOCK)
            WHERE 1=1
            AND CODCOLIGADA = 1
            AND IDCNT = 72

Neste caso este contrato não tem aditivo, então, gostaria que ele executasse outro SELECT:

SELECT (DATAFIM + 90) AS DATA_FIM  FROM TITMCNT
            WHERE IDCNT = '72'

 

 

O mais lógico que tentei foi assim, mas não dá certo:


SELE

CT TOP 1  (DATA + 90) AS DATAFIM,
CASE (DATA)
WHEN IS NULL THEN ( SELECT (DATAFIM + 90) AS DATA_FIM  FROM TITMCNT
                    WHERE IDCNT = '72'
)
END AS DATAFIM

FROM TITMCNTADITIVO (NOLOCK)
WHERE 1=1
AND CODCOLIGADA = 1
AND IDCNT = 72

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por mr22robot
      Estou com uma dúvida. É possível determinar um select a partir de uma escolha?
      Ex. 
      SELECT CASE WHEN a < b THEN select * from tabela1 WHEN d < e THEN select * form tabela2 END FROM tabela; Algo parecido. Se uma condição for atendida select1 , se outra condição for atendida: select2.
      O que acontece: estou com um relatorio que preciso criar no winthor e não consigo melhorar isso. Tenho de fazer três relatorios como solução. Se eu consigo implantar isso, eu faria somente um relatorio. 
      Tipo se marcar um campo, sai um relatorio. Se marcar outro, saí outro relatorio.
    • Por nicolasbessa
      Boa tarde!
       
      Como aplicar a regra abaixo em um select?

      Regra Join
      Quando o campo substr(x, 1,1)  ='1'
      montar a chave de pesquisa:
      y = '8' AND y1 =  'L'||lpad( x1, 2)) 

      Quando o campo substrt(x, 1,1) for igual ='A'
      montar a chave de pesquisa:
      y = '8' AND y1 =  'M'||lpad( x1, 2)) 
       
      obrigado!
    • Por BrunoJavan
      Olá, estou com um problema no mínimo curioso. Tenho uma div com ID "conteudo" e na hora de pegar essa div através do getElementById  ou até mesmo do querySelector, SEMPRE retorna null no console. O mais estranho é que se eu digito diretamente no console,  funciona normalmente. Detalhe: isso acontece tanto no Firefox quanto no Chrome.

      Segue código abaixo:
       
      <!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Relógio</title> <script> console.log( document.getElementById("conteudo") ); </script> </head> <body> <div id="conteudo">teste</div> </body> </html>  
      To até agora tentando entender pq sempre retorna null mas quando digito diretamente no console do navegador funciona. Alguém sabe me dizer que treta é essa?
    • Por caio_fgf
      Estou desenvolvendo um site e necessito que o menu receba a classe ativo quando o botão for clicado, e se este for clicado de novo ou qualquer parte do documento for clicada, o menu perca a classe.
      Ao clicar em outra parte da página, o menu desaparece, porém, ao clicar novamente no botão do menu, não consigo a aplicação desejada
      $(document).ready(function () { var menu = $("nav") $(".bt_menu").click(function (e) { if (menu.hasClass("ativo")) menu.removeClass("ativo"); else menu.addClass("ativo"); e.stopPropagation(); }); $(document).click(function (e) { $('nav').removeClass("ativo"); }); }); Grato pela atenção
    • Por BryanSamuel
      existe alguma função que formate uma data por exemplo 26/09/2018, em um número inteiro? mais ou menos igual o excel, que começa a contar os dias a partir do dia 01/01/1900, se caso não exista uma função como eu faço isso? agradeço a ajuda desde já.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.