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

Busca SQL


Gustavo Ribas Logullo

Pergunta

Bom dia pessoal, eu tenho o seguinte SQL:

SELECT fazgc_cadastro_empresa_associada.*, fazgc_cadastro_produto_empresa_associada.*
FROM fazgc_cadastro_empresa_associada, fazgc_cadastro_produto_empresa_associada
WHERE fazgc_cadastro_empresa_associada.ramo_atividade_associada LIKE '%" . $stringBusca . "%'
AND fazgc_cadastro_empresa_associada.id_cidade_associada = '$cidadeBusca'
AND fazgc_cadastro_empresa_associada.id_empresa_associada = fazgc_cadastro_produto_empresa_associada.id_empresa_associada
OR fazgc_cadastro_produto_empresa_associada.nome_produto_1_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_1_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.nome_produto_2_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_2_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.nome_produto_3_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_3_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.nome_produto_4_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_4_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.nome_produto_5_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_5_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.nome_produto_6_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_6_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.nome_produto_7_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_7_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.nome_produto_8_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_8_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.nome_produto_9_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_9_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.nome_produto_10_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_10_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.nome_produto_11_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_11_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.nome_produto_12_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_12_associada LIKE '%" . $stringBusca . "%'
GROUP BY fazgc_cadastro_empresa_associada.nome_associada
ORDER BY fazgc_cadastro_empresa_associada.nome_associada ASC

O problema está no seguinte: Eu preciso que no momento em que o usuário digitar uma palavra qualquer ele busque de acordo com a cidade escolhida, coisa que não está acontecendo. Por exemplo, quando eu digito no campo de busca a palavra BARRACA, ele ignora a cidade escolhida e busca em todas as que tiverem a palavra BARRACA, independente da cidade que eu escolhi.

Como resolver isto?

Desde já agradeço a ajuda de todos vocês.

Gustavo Ribas Logullo

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
SELECT fazgc_cadastro_empresa_associada.*, fazgc_cadastro_produto_empresa_associada.*
FROM fazgc_cadastro_empresa_associada, fazgc_cadastro_produto_empresa_associada
WHERE fazgc_cadastro_empresa_associada.ramo_atividade_associada LIKE '%" . $stringBusca . "%'
AND fazgc_cadastro_empresa_associada.id_cidade_associada = '$cidadeBusca'
AND fazgc_cadastro_empresa_associada.id_empresa_associada = fazgc_cadastro_produto_empresa_associada.id_empresa_associada
and (
   fazgc_cadastro_produto_empresa_associada.nome_produto_1_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_1_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.nome_produto_2_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_2_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.nome_produto_3_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_3_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.nome_produto_4_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_4_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.nome_produto_5_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_5_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.nome_produto_6_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_6_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.nome_produto_7_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_7_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.nome_produto_8_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_8_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.nome_produto_9_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_9_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.nome_produto_10_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_10_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.nome_produto_11_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_11_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.nome_produto_12_associada LIKE '%" . $stringBusca . "%'
OR fazgc_cadastro_produto_empresa_associada.descricao_produto_12_associada LIKE '%" . $stringBusca . "%'
)
GROUP BY fazgc_cadastro_empresa_associada.nome_associada
ORDER BY fazgc_cadastro_empresa_associada.nome_associada ASC

Link para o comentário
Compartilhar em outros sites

  • 0

acho que vai rolar assim! faz um teste ae!

SELECT
fazgc_cadastro_empresa_associada.*,
fazgc_cadastro_produto_empresa_associada.*
FROM fazgc_cadastro_empresa_associada, fazgc_cadastro_produto_empresa_associada
WHERE fazgc_cadastro_empresa_associada.ramo_atividade_associada LIKE '%" . $stringBusca . "%' AND fazgc_cadastro_empresa_associada.id_cidade_associada = '$cidadeBusca' AND fazgc_cadastro_empresa_associada.id_empresa_associada = fazgc_cadastro_produto_empresa_associada.id_empresa_associada AND (
	fazgc_cadastro_produto_empresa_associada.nome_produto_1_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_1_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.nome_produto_2_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_2_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.nome_produto_3_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_3_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.nome_produto_4_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_4_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.nome_produto_5_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_5_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.nome_produto_6_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_6_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.nome_produto_7_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_7_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.nome_produto_8_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_8_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.nome_produto_9_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_9_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.nome_produto_10_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_10_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.nome_produto_11_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_11_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.nome_produto_12_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_12_associada LIKE '%" . $stringBusca . "%'
)
GROUP BY fazgc_cadastro_empresa_associada.nome_associada
ORDER BY fazgc_cadastro_empresa_associada.nome_associada ASC

Link para o comentário
Compartilhar em outros sites

  • 0
acho que vai rolar assim! faz um teste ae!

SELECT
fazgc_cadastro_empresa_associada.*,
fazgc_cadastro_produto_empresa_associada.*
FROM fazgc_cadastro_empresa_associada, fazgc_cadastro_produto_empresa_associada
WHERE fazgc_cadastro_empresa_associada.ramo_atividade_associada LIKE '%" . $stringBusca . "%' AND fazgc_cadastro_empresa_associada.id_cidade_associada = '$cidadeBusca' AND fazgc_cadastro_empresa_associada.id_empresa_associada = fazgc_cadastro_produto_empresa_associada.id_empresa_associada AND (
	fazgc_cadastro_produto_empresa_associada.nome_produto_1_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_1_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.nome_produto_2_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_2_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.nome_produto_3_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_3_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.nome_produto_4_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_4_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.nome_produto_5_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_5_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.nome_produto_6_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_6_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.nome_produto_7_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_7_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.nome_produto_8_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_8_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.nome_produto_9_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_9_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.nome_produto_10_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_10_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.nome_produto_11_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_11_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.nome_produto_12_associada LIKE '%" . $stringBusca . "%' OR fazgc_cadastro_produto_empresa_associada.descricao_produto_12_associada LIKE '%" . $stringBusca . "%'
)
GROUP BY fazgc_cadastro_empresa_associada.nome_associada
ORDER BY fazgc_cadastro_empresa_associada.nome_associada ASC

Cara por incrível que pareça agora não encontra absolutamente nada, nem o que estava encontrando e funcionando anteriormente.

Link para o comentário
Compartilhar em outros sites

  • 0

Cara,

a querie que nosso amigo postou está certa,

o problema é que você utiliza a mesma variavel em 2 lugares:

fazgc_cadastro_empresa_associada.ramo_atividade_associada LIKE '%" . $stringBusca . "%'

fazgc_cadastro_produto_empresa_associada.descricao_produto_1_associada LIKE '%" . $stringBusca . "%'

Me desculpe se minha lógica está errada,

mas se o usuário procurar por BARRACA em são PAULO ele teria:

$stringdebusca = BARRACA

$cidadeBusca = são PAULO

ou seja:

RAMO DE ATIVIDADE = BARRACA

PRODUTO = BARRACA

CIDADE = são PAULO

crie outra variavel para o ramo de atividade e faça o teste.

Link para o comentário
Compartilhar em outros sites

  • 0

É que nessa busca nada impede de que o cara procure pela palavra refrigeração e esta mesma palavra sirva tanto para o ramo de atividade quanto para o nome ou ainda a descrição de um produto entendestes?

Estamos no caminho, a gente consegue desvendar este problema.

Atenciosamente,

Gustavo Ribas Logullo

Link para o comentário
Compartilhar em outros sites

  • 0

cara,

faz um teste,

executa a querie, só que ao invés de utilizar as variaveis utilize palavras que você tem certeza que gerarão resultado,

como no exemplo que você citou: BARRACA em são PAULO por exemplo

Se esta querie também não funcionar remova todas as condiçoes de existencia e vá adicionando-as aos poucos,

uma por vez e verificando o resutlado,

acredito que alguma condição esteja errada.

Link para o comentário
Compartilhar em outros sites

  • 0

Oi Gustavo Ribas Logullo

Coitado de seu cliente se o banco ficar grande. Esta pesquisa ficará muiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiito lenta pois toda ela gera table scan.

Crie indices do tipo fulltext e você não precisará se preocupar mais nem com tempo de resposta(no seu caso, prazo de entrega), nem com este problema que você está enfrentando.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...