Possuo uma busca de classificados que os usuários podem buscar palavras chaves e encontrar o q esta procurando, até aqui esta ok.
O problema é o seguinte, eu preciso ordenar a busca pela palavra chave seguindo a seguinte regra:
- o usuario buscou a palavra HOTEL
- primeira condição é ver se a palavra existe no NOME da empresa
- Segunda condição é verificar se a palavra existe no KEYWORD da empresa
Seguindo essa regra a ideia é que se a pessoa buscou o nome HOTEL todas as empresas que possui o termo "HOTEL" (no campo NOME) vai vim primeiro e posteriormente o que estão no keyword.
O que eu fiz ate o momento é essa consulta:
SELECT
nome,
keyword
FROM
empresas_parceiros
WHERE 1=1
AND (nome LIKE '%HOTEL%' OR keyword LIKE '%HOTEL%')
ORDER BY
nome,
keyword
LIMIT 0,20;
A Saída dessa consulta ficou assim:
- Hotel Paraguaia
- Clinica Veterinaria (possui a palavra hotel no Keyword)
- Posto Shell (idem )
- Hotel De Minas
Porém a forma correta que precisava exibir era:
- Hotel Paraguaia
- Hotel De Minas
- Clinica Veterinaria (possui a palavra hotel no Keyword)
- Posto Shell (idem )
Alguém já passou por algo parecido? Consigo fazer isso no SQL ?
Umas das tentativas eu coloquei um "ORDER BY NOME LIKE '%HOTEL%'" mas não adiantou não....
Pergunta
crazySerk
Galera, tudo bem com vocês?
Estou precisando de uma ajuda no seguinte caso.
Possuo uma busca de classificados que os usuários podem buscar palavras chaves e encontrar o q esta procurando, até aqui esta ok.
O problema é o seguinte, eu preciso ordenar a busca pela palavra chave seguindo a seguinte regra:
- o usuario buscou a palavra HOTEL
- primeira condição é ver se a palavra existe no NOME da empresa
- Segunda condição é verificar se a palavra existe no KEYWORD da empresa
Seguindo essa regra a ideia é que se a pessoa buscou o nome HOTEL todas as empresas que possui o termo "HOTEL" (no campo NOME) vai vim primeiro e posteriormente o que estão no keyword.
O que eu fiz ate o momento é essa consulta:
A Saída dessa consulta ficou assim:
- Hotel Paraguaia - Clinica Veterinaria (possui a palavra hotel no Keyword) - Posto Shell (idem ) - Hotel De Minas
Porém a forma correta que precisava exibir era:
- Hotel Paraguaia - Hotel De Minas - Clinica Veterinaria (possui a palavra hotel no Keyword) - Posto Shell (idem )
Alguém já passou por algo parecido? Consigo fazer isso no SQL ?
Umas das tentativas eu coloquei um "ORDER BY NOME LIKE '%HOTEL%'" mas não adiantou não....
Agradeço a ajuda!
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
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.