Ir para conteúdo
Fórum Script Brasil
  • 0

[Ajuda] Juntar Dois campos com LIKE


-= NemesiS =-

Pergunta

Olá pessoal estou usando MySQL com PHP e preciso executar um query conforme o usuário digita o endereço,

LOGRADOURO + ENDEREÇO, ou ENDEREÇO

no momento estou conseguindo fazer somente a query com base no endereço mas se o usuário digita o LOGRADOURO a query não funciona.

SELECT 
            
            tb_enderecos.txtCep            AS txtCep,  
            tb_enderecos.txtLogradouro    AS txtLogradouro, 
            tb_enderecos.txtNome         AS txtEndereco , 
            
            tb_cidades.txtNome             AS txtCidade
            
            FROM 
            
            tb_enderecos, 
            tb_cidades 
            
            WHERE 
            
            tb_enderecos.txtNome         LIKE '". $_REQUEST[endereco']. "%' AND 
            tb_enderecos.tipoCidade = tb_cidades.id 
            
            GROUP BY tb_enderecos.txtLogradouro, tb_enderecos.tipoCidade, tb_enderecos.txtCep   
            ORDER BY tb_enderecos.tipoCidade DESC LIMIT 15

lembrando que há um campo para o logradouro (rua, avenida, praça, etc..) e outro para o endereço (josé bontempo, kennedy, etc..)

como posso fazer o LIKE pegar pelos dois campos ??

isto irá ser um filtro para localizar o CEP somente digitando o endereço.

Agradeço toda ajuda !

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Ola Nemesis

Infelizmente não conheço nenhum modo de fazer o LIKE pegar dois campos. Inclusive, vou aguardar respostas aqui para poder utilizar este artifício também.

Mas, por acaso, você tentou algo utilizando JOIN's? Pelo menos a apresentação da sua tabela me parece que pede uma união entre elas.

Abraço!

Link para o comentário
Compartilhar em outros sites

  • 0

Entaum, .... não ultilizei JOIN, fiz no metodo simples..

onde table.campo = table.com..

mas esta uniao é só para mostrar o nome das cidades, oqeu preciso mesmo é o LIKE começar a consultar pelo logradouro, e se ele não localizar pelo logradouro começar a fazer um LIKE no Endereço, trazendo assim sempre resultados.

Agradeçoa ajuda !

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

Oi, '-= NemesiS =-'

Crie indices fulltext em ambas tabelas, ou a degradação de performance será astronômica com o aumento de tamanho delas.

Sempre que posso desaconselho o uso de like por, na maioria das vezes, causar table scan.

Outra sugestão use INNER JOIN para estabelecer a ligação entre as tabelas. É mais prático e mais limpo (o código do select).

Do jeito que você e muitos fazem é difícil entender que condição faz parte exclusiva da cláusula where e que condição faz parte do join.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...