Left Outer Join trazer valores nulos
Galera to com uma pequena bronca e nao estou conseguindo resolver, é o seguinte.
Tenho uma tabela chamada "formulario_campo" nela eu tenho os seguintes valores:
- nome
- cpf
- nascimento
E tenho uma tabela chamada formulario_valor que recebe os valores do campo ficando assim
- campo: nome , valor : Jose
- campo: cpf , valor : 123
- campo: nascimento , valor : dezembro
Ate aqui esta OK, quando dou um select usando Left outer Join ele me traz os resultados certinho e bonitinho.. a questão esta no seguinte item...
Na tabela formulario_campo, adicionei um novo campo chamado "sobrenome", respectivamente na tabela formulario_valor ainda nao tenho este novo campo adicionado pois por ser um novo campo ninguem cadastrou o sobrenome sendo assim este valor nao existe na tabela formulario_valor, certo?
Neste momento eu estou dando um select na tabela formulario_campo e dando join na tabela formulario_valor para trazer todos os campos que foram preenchidos, a duvida esta no seguinte ponto, eu preciso que o campo "sobrenome" venha tambem, mesmo nao existindo la porem preciso que venha com o valor de NULL, tecnicamente o LEFT OUTER JOIN nao resolveria este problema? No momento ele so me retorna os 3 campos inicias, o novo campo que adicionei nao vem na lista...
Abaixo o meu select
SELECT
a.`cod_campo`,
a.`descricao`,
b.valor,
b.`cod_formulario`,
b.`cod_oportunidade`
FROM
formulario_campo a
LEFT OUTER JOIN formulario_valor b
ON (
a.cod_campo = b.cod_campo
AND a.cod_formulario = b.cod_formulario
)
WHERE b.cod_oportunidade = 145
ORDER BY a.ordem
O que posso fazer para resolver isto?
Discussão (10)
Carregando comentários...