Estou com uma dúvida que para não estender demais na pergunta eu vou simplificar a dúvida em 3 tabelas (mais que isto só muda o trabalho, para entender 3 esta beleza).
Tenho 3 tabelas,
( A ) TabelaA campos ÍNDICE e NOME
1 - joão
2 - maria
( B ) TabelaB campos ÍNDICE e COR
1 - amarelo
2 - vermelho
( C ) TabelaC campos ÍNDICE e EMAIL
1 - joao@joao.net
Como podem notar a maria não tem email cadastrado, e não gostaria de ter de cadastrar somente o índice com campo email NULL. Fazendo a SELECT tanto com LEFT JOIN, LEFT OUTER JOIN, RIGHT JOIN, INNER JOIN ou somente JOIN o resultado é o mesmo (com ou sem DISTINCT, dei tiro para tudo que foi lado).
SELECT DISTINCT A.*, B.*, C.* FROM A
LEFT JOIN B ON A.id=B.id
LEFT JOIN C ON A.id=C.id
ORDER BY A.nome ASC
O resultado é sempre JOÃO e seus dados, eu gostaria de, por exemplo neste caso, ter os dados de MARIA mesmo que a condição do ON no EMAIL seja NULL ou índice inexistente.
Pergunta
Samir
Oi, boa noite!
Estou com uma dúvida que para não estender demais na pergunta eu vou simplificar a dúvida em 3 tabelas (mais que isto só muda o trabalho, para entender 3 esta beleza).
Tenho 3 tabelas,
( A ) TabelaA campos ÍNDICE e NOME
1 - joão
2 - maria
( B ) TabelaB campos ÍNDICE e COR
1 - amarelo
2 - vermelho
( C ) TabelaC campos ÍNDICE e EMAIL
1 - joao@joao.net
Como podem notar a maria não tem email cadastrado, e não gostaria de ter de cadastrar somente o índice com campo email NULL. Fazendo a SELECT tanto com LEFT JOIN, LEFT OUTER JOIN, RIGHT JOIN, INNER JOIN ou somente JOIN o resultado é o mesmo (com ou sem DISTINCT, dei tiro para tudo que foi lado).
SELECT DISTINCT A.*, B.*, C.* FROM A
LEFT JOIN B ON A.id=B.id
LEFT JOIN C ON A.id=C.id
ORDER BY A.nome ASC
O resultado é sempre JOÃO e seus dados, eu gostaria de, por exemplo neste caso, ter os dados de MARIA mesmo que a condição do ON no EMAIL seja NULL ou índice inexistente.
Alguém poderia me ajudar?
Desde já,
Muito obrigado
Editado por SamirLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.