[RESOLVIDO] Campos vazios no LEFT JOIN

2 respostas
M

Pessoal, quando fazemos uma junção entre tabelas utilizando o LEFT JOIN, é normal a consulta retornar alguns campos vazios caso
a tabela da direita não tenha o campo chave correspondente certo? Eu queria que estes campos tivessem um valor caso não exista
registro correspondente na tabela da direita, deu pra entender?

Obs.: Estou usando Postgres.

2 Respostas

H

Você poderia utilizar um case. (sei q existe para sql server, não sei qual a sintaxe para postgres)

No case você iria ver se o valor está null, caso esteja, você pode colocar um valor default.

M

É isto mesmo. Eu até tinha testado isto antes mas não funcionou, agora que você falou eu testei novamente e funcionou.
Devo ter esquecido de algum detalhe. De qualquer forma eu fiz o seguinte:


CASE WHEN campo IS NOT NULL THEN
–Expressão para o campo diferente de null
ELSE
–Expressão para quando for NULL
END AS nome_campo

Correção: O detalhe é que o operador não pode ser !=, tem que usar o IS NOT NULL.

Criado 9 de maio de 2012
Ultima resposta 9 de mai. de 2012
Respostas 2
Participantes 2