Ordenação de buscas
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:
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....
Agradeço a ajuda!
Discussão (0)
Carregando comentários...