Angellis 0 Denunciar post Postado Fevereiro 16, 2006 Eu tenho duas tabelas clientes e contatos. E preciso fazer uma busca por uma determinada chave em ambas as tabelas. Estou usando o consulta a baixo: SELECT tbl_cliente.id, tbl_cliente.nome_cliente, tbl_contato.nome_contatoFROM (tbl_contatoINNER JOIN tbl_cliente ON tbl_contato.id_empresa = tbl_cliente.id)WHERE tbl_cliente.nome_cliente LIKE '%empre%'LIMIT 0 , 30 O problema é que, se na tabela contato não tiver nenhum registro com o número de relacionamento da outra tabela, ele não acha. Tipo eu tenho na primeira tabela 2 registros: id = 1 nome_cliente = Empresa id =2 nome_cliente = Empresinha Na segunda tabela apenas um registro: id_empresa = 1 (esse campo é o que contem o relacionamento com a outra tabela) nome_contato = Funcionario O que acontece é que recebo apenas como resultado da busca os valores de Empresa. O Empresinha é ignorado por não ter um registro na segunda tabela com relacionamento para ele. ALguém tem noção do motivo? Ou caso seja isso mesmo, onde eu estou errando ao pensar que deveria retornar ambos? Compartilhar este post Link para o post Compartilhar em outros sites
luigi 0 Denunciar post Postado Fevereiro 17, 2006 Olá!Substitua o INNER JOIN por LEFT OUTER JOIN.O INNER JOIN funciona assim mesmo: só traz os casos que constam em ambas as tabelas.Já o LEFT OUTER JOIN traz todos os casos na tabela da esquerda (no caso, tbl_contato) e, se houver, sua correspondência na tabela da direita (tbl_cliente).Abraço! Compartilhar este post Link para o post Compartilhar em outros sites
Angellis 0 Denunciar post Postado Fevereiro 17, 2006 Luigi,Obrigado pela ajuda!No início achei que não estava funcionando. Fui então procurar a respeito desse LEFT JOIN (que eu não conhecia até então) e vi que realmente era o que precisava. Mas continuava não funcionando!Ai procurei no meu php e achei umas linhas comentadas que não deveriam estar e BINGO!Agora está do jeito que eu preciso.Obrigado mais uma vez.Abraço, Compartilhar este post Link para o post Compartilhar em outros sites