Skip to main content
Announcements
SYSTEM MAINTENANCE: Thurs., Sept. 19, 1 AM ET, Platform will be unavailable for approx. 60 minutes.
cancel
Showing results for 
Search instead for 
Did you mean: 
lailarhc
Creator
Creator

Checar se valor existe em uma tabela antes de selecionar valor nulo em outra tabela

Olá.
Eu estou tentando combinar duas tabelas com UNION. Eu consegui fazer isso, mas eu preciso checar se um valor existe na primeira tabela (V_AuditoriaEventoServidor) antes de selecionar o valor nulo correspondente na segunda tabela (SHC_CapacitacaoNaoInstitucional). Se o valor não existe na tabela 1, então eu quero selecionar o valor nulo na tabela 2. Se o valor existe na tabela 1, então eu não quero que o valor nulo na tabela 2 conte.

 

Onde eu deveria inserir meu IF? Eu deveria declarar uma variável e atribuir TRUE se o valor existir? Como eu faria isso?

 

Qualquer ajuda é apreciada.

Agradeço antecipadamente.

Aqui está meu script:

//If Empregado.Curso exists in this table then null value from second table should not count
SQL SELECT NomeEmpregado as Servidor,
  evento."DataIniRealizacao" as Início,
  evento."DataFimRealizacao" as Fim,
  evento."CargaHoraria" as Horas,
  evento."descEvento" as Curso
FROM SARH.dbo.Empregado
LEFT JOIN SDTA.dbo."V_AuditoriaEventoServidor" as evento
ON evento.numCpf = Empregado.NumCpf
LEFT JOIN SARH.dbo.DadosFuncionais as dados
ON dados.CodEmpregado = Empregado.CodEmpregado
JOIN SARH.dbo.Orgao as orgao
ON orgao.CodOrgao = dados.CodUltimaLotacao
AND orgao.SiglaOrgao LIKE 'GR08%'
WHERE dados.DataSaidaEmpregado is null

UNION

SELECT NomeEmpregado as Servidor2,
  capacitacao."DataInicio" as Início2,
  capacitacao."DataFim" as Fim2,
  capacitacao."CargaHoraria" as Horas2,
  capacitacao."descTitulo" as Curso2
FROM SARH.dbo.Empregado
LEFT JOIN SDTA.dbo."SHC_CapacitacaoNaoInstitucional" as capacitacao
ON capacitacao.CodEmpregado = Empregado.CodEmpregado
LEFT JOIN SDTA.dbo."V_AuditoriaEventoServidor" as evento2
ON evento2.numCpf = Empregado.NumCpf
LEFT JOIN SARH.dbo.DadosFuncionais as dados
ON dados.CodEmpregado = Empregado.CodEmpregado
JOIN SARH.dbo.Orgao as orgao
ON orgao.CodOrgao = dados.CodUltimaLotacao
AND orgao.SiglaOrgao LIKE 'GR08%'
WHERE dados.DataSaidaEmpregado is null;

 

Labels (1)
  • Other

0 Replies