KB-93711: Função FULL OUTER JOIN retorna campos com valores nulos.

Descrição:

Preciso unir os dados de duas tabelas diferentes do banco de dados. Ambas possuem uma coluna com a data, mas o outro campo tem ações diferentes. Para isso, criei um código SQL utilizando a função FULL OUTER JOIN, e gostaria de ordenar os dados na tabela na seguinte sequência: TimeStamp e os dois campos separados. Porém, ao unir os dados das tabelas, o campo DataHora da tabela resultante retorna valores nulos.

Tabelas utilizadas:

Sintaxe SQL:

SELECT Tbl1.E3TimeStamp AS DataHora, Tbl1.Campo1,Tbl2.Campo2
FROM Tbl1
FULL OUTER JOIN Tbl2
ON Tbl1.E3TimeStamp = Tbl2.E3TimeStamp
ORDER BY DataHora ASC

Resultado:

Como posso resolver esta situação?

Solução:

Ao utilizar a função FULL OUTER JOIN em tabelas com valores distintos para o campo E3TimeStamp, o resultado será nulo. Para consertar esta situação, basta substituir os valores da primeira tabela pelo E3TimeStamp da segunda tabela. Para isto, utilize a função ISNULL, que substitui NULL com o valor especificado.

Sintaxe:

ISNULL (, )

Exemplo de Sintaxe SQL:

SELECT ISNULL (Tbl1.E3TimeStamp,Tbl2.E3TimeStamp) AS DataHora, Tbl1.Campo1,Tbl2.Campo2
FROM Tbl1
FULL OUTER JOIN Tbl2
ON Tbl1.E3TimeStamp = Tbl2.E3TimeStamp
ORDER BY DataHora ASC

Resultado:

Este artigo foi útil? Was this post helpful?
Yes0
No0

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *