Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rob_Bor

like + iner join é possível?

Recommended Posts

Pessoal, boa tarde.

 

Gostaria de saber se like com inner join é possível.

 

Tenho a seguinte consulta com inner join:

 

$pesquisar = "SELECT * FROM tb_cad_cli_condominio INNER JOIN tb_cad_cli_apartamento ON tb_cad_cli_condominio.pk_cli_condominio = pk_cli_condominio_id ORDER BY nome_predio";

 

e a consulta com loke:

 

$busca_query = mysql_query("SELECT * FROM tb_cad_cli_condominio WHERE nome_predio LIKE '%$nome_condominio%' OR pk_cli_condominio LIKE '%$nome_condominio%' OR cidade_predio LIKE '%$nome_condominio%'")or die(mysql_error());//faz a busca com as palavras enviadas

 

 

o que eu quero saber, é se eu consigo fazer a função da segunda consulta, mais usando o inner join da primeira. de maneira que ele pesquisa entre as tabelas do inner join.

 

Entenderam?

 

abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

se entendi basta colocar todo o WHERE da segunda query na primeira

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz isso, e nao deu certo.

 

montei a query assim:

 

$busca_query = mysql_query("SELECT * FROM tb_cad_cli_condominio INNER JOIN tb_cad_cli_apartamento ON tb_cad_cli_condominio.pk_cli_condominio = pk_cli_condominio_id ORDER BY nome_predio WHERE nome_predio LIKE '%$nome_condominio%' OR pk_cli_condominio LIKE '%$nome_condominio%' OR cidade_predio LIKE '%$nome_condominio%'")or die(mysql_error());//faz a busca com as palavras enviadas

 

e me trouxe o seguinte erro:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE nome_predio LIKE '%13%' OR pk_cli_condominio LIKE '%13%' OR cidade_predio ' at line 1

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o ORDER deve vir depois do WHERE

 

 

veja como você fez:

ORDER BY nome_predio WHERE

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, agora a consulta deu certo.

 

Mas ele mostra o mesmo condominio de acordo com o tanto de apartamentos que ele tem.

 

por EX:

 

se o condomínio tem 3 apartamentos. ele é exibido 3 vezes. O.o

 

Alguma sugestao?

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse é o trabalho do inner join

 

você quer que apareça apenas um apartamento do condomínio?

Compartilhar este post


Link para o post
Compartilhar em outros sites

um apartamento tem mais de um condomínio?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mostre exemplo do que está retornando como resultados pois a principio estaria correto trazendo todos os apartamentos do condominio pesquisado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoa Desculpas pela demora..

mas vamos lá, ele nao me retorna nada, fica branco.

 

Olha a consulta ta assim:

 

$busca_query = mysql_query("SELECT * FROM tb_cad_cli_condominio WHERE nome_predio LIKE '%$nome_condominio%' OR pk_cli_condominio LIKE '%$nome_condominio%' OR cidade_predio LIKE '%$nome_condominio%'")or die(mysql_error());//faz a busca com as palavras enviadas       							
       $row = mysql_num_rows($busca_query);

 

ai dentro do while

 

while ($dados = mysql_fetch_array($busca_query)) {
    print $dados['nome_cliente_apartamento'];  // nome_cliente_apartamento é o nome da célula no banco de dados.
}

 

abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.