Ir para conteúdo

POWERED BY:

Arquivado

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

Leandro Paiva

Montar Query

Recommended Posts

Prezados amigos, alguem poderia me ajudar a montar uma QUERY aqui, nao estou conseguindo pensar nessa saida.

 

Tenho duas tabelas:

 

imoveis e clientes relacionadas por cod_cliente onde:

 

IMOVEIS

cod_imovel(PK)..cod_bairro..cod_cidade. descricao...observacoes...endereco...cod_cliente(FK)..etc etc......

 

CLIENTES

cod_cliente(PK)...cliNome...cliEmail...cliCPF etc etc

 

Eu gostaria de fazer uma QUERY, para buscas por palavra-chave (usando like), nos campos IMOVEIS.descricao,IMOVEIS.observacoes e CLIENTES.clinome,CLIENTES.cliEmail,

 

No momento, montei essa query aqui, mas estah multiplicando os retornos.

 

SQL_QUERY_BUSCA_PALAVRA_CHAVE = "SELECT A.*,B.cliNome,B.cliEmail FROM imoveis A, clientes B WHERE A.descricao_geral LIKE '%"& palavra &"%' or A.valor_imovel LIKE '%"& palavra &"%' or A.endereco_imovel LIKE '%"& palavra &"%' or A.observacoes LIKE'%"& palavra &"%' or B.cliNome LIKE'%"& palavra &"%' or B.cliEmail LIKE'%"& palavra &"%' AND (A.cod_cliente = B.cod_cliente) ORDER BY A.data_cadastro DESC"

 

O retorno estah vindo multiplicado pelo numero de imoveis. (jah tentei inverter o JOIN para (B.cod_cliente = A.cod_cliente))

 

Nao saco muito de SQL , por isso peco ajuda dos colegas.

 

Atenciosamente,

 

Leandro Paiva

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala ai Leandro, beleza cara?

 

Estou com o mesmo problema, porém fiz minha consulta desta forma:

 

$sql_equipameto = mysql_query("SELECT id_chamado,empresa,cham_num_equipamento,cham_id_equipamento,data_agenda,status,dataencerrameno,nome_ponto FROM chamados,equipamentos WHERE nome_ponto LIKE '%".$ponto."%' or id_chamado = '$num_chamado'") or print (mysql_error());

 

E também esta mutiplicando, caso tenha conseguindo a solução poste ai, se eu conseguir também postarei.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta ai cara achei a solução para o meu:

 

SELECT c.id_chamado, c.empresa, c.cham_num_equipamento, c.cham_id_equipamento, c.data_agenda, c.status, c.dataencerrameno, e.nome_ponto

FROM chamados c JOIN equipamentos e ON e.id_equipamento = c.cham_id_equipamento

where c.id_chamado = '$num_chamado' or e.nome_ponto like '%".$ponto."%'") or print (mysql_error());

 

não sei se vai aajudar você resolver o seu problema mas tai, um abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leia as regras do fórum

 

Não flood

 

Os outros tópicos com o mesmo assunto foram excluídos

 

Abraços

 

Administração

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezado Mario, desculpe nao sabia dessa regra e nem onde postar o problemam visto que nao tem um forum especifico de SQL aqui no imasters. No mais, ainda estou procurando uma solucao para essa query, se puder ajudar.

 

Uma abracao,

 

Prezados, consegui aqui, agradeco por quem tentou AJUDAR.

 

Resultado:

 

SQL_QUERY_BUSCA_PALAVRA_CHAVE = "SELECT A.*,B.cliNome,B.cliEmail FROM imoveis A, clientes B WHERE (A.cod_cliente = B.cod_cliente) AND (A.descricao_geral LIKE '%"& palavra &"%' or A.valor_imovel LIKE '%"& palavra &"%' or A.endereco_imovel LIKE '%"& palavra &"%' or A.observacoes LIKE'%"& palavra &"%' or B.cliNome LIKE'%"& palavra &"%' or B.cliEmail LIKE'%"& palavra &"%') ORDER BY A.data_cadastro DESC"

 

 

Eu tenho muita dificuldade para efetuar query usando join e sub consultas. Na faculdade inteira, estudamos usando o metodo acima. Por exemplo: (outro select meu aqui.)

 

SQLQUERY_RECUPERA_IMOVEL = "SELECT A.*, B.nome_bairro,C.nome_cidade,D.tipo_imovel,E.cliNome,E.cod_cliente,E.cod_cpf_cnpj,E.resTelefone,E.resDDD,E.resCelular,E.resEndereco FROM imoveis A, bairros B, cidades C, tipo_imoveis D, clientes E WHERE (A.cod_bairro = B.cod_Bairro) AND (A.cod_cidade = C.cod_cidade) AND (A.cod_tipo_imovel = D.cod_tipo_imovel) AND (A.cod_cliente = E.cod_cliente) AND (A.cod_imovel = '" & cod_imovel & "')"

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.