Tenho um banco de dados com 53 mil empresas cadastradas, e cada empresa possui o mínimo de 5 palavras chaves relacionadas a ela.
Ex.:
id da empresa | palavra-chave
111111 | decoracoes
111111 | decorando
111111 | decorado
111111 | riodecor
111111 | reforma
222222 | decoracoes
222222 | enfeites
222222 | festas
222222 | buffet
222222 | lanches
enfim...
Nesse exemplo eu gostaria de ter um resultado da seguinte forma, caso eu busque 'decor enfeites' o id 222222 deveria ser listado primeiro pois ele possui as duas palavras ou parte dela que pesquisei, como um LIKE '%decor%' or LIKE '%enfeites%', porém, dessa forma ele me diz que o id 111111 possui maior quantidade de resultados, pois ele encontra 4 vezes a palavra-chave 'decor' e no id 222222 ele encontra apenas 2 palavras-chave, 1 vez 'decor' e 1 vez 'enfeites'.
Usando um count(*) e group by id, ele me retorna...
id da empresa | count(*)
111111 | 4
222222 | 2
Não sei se fui bem claro, porém preciso que a busca funcione dessa maneira utilizando parcial da palavra como 'decor' para decorações ou decorando e etc...
Preciso que ele busque apenas se possui ou não um registro com cada palavra-chave dando o seguinte resultado...
Question
Riba
Bom dia pessoal,
A dívida é a seguinte.
Tenho um banco de dados com 53 mil empresas cadastradas, e cada empresa possui o mínimo de 5 palavras chaves relacionadas a ela.
Ex.:
id da empresa | palavra-chave
111111 | decoracoes
111111 | decorando
111111 | decorado
111111 | riodecor
111111 | reforma
222222 | decoracoes
222222 | enfeites
222222 | festas
222222 | buffet
222222 | lanches
enfim...
Nesse exemplo eu gostaria de ter um resultado da seguinte forma, caso eu busque 'decor enfeites' o id 222222 deveria ser listado primeiro pois ele possui as duas palavras ou parte dela que pesquisei, como um LIKE '%decor%' or LIKE '%enfeites%', porém, dessa forma ele me diz que o id 111111 possui maior quantidade de resultados, pois ele encontra 4 vezes a palavra-chave 'decor' e no id 222222 ele encontra apenas 2 palavras-chave, 1 vez 'decor' e 1 vez 'enfeites'.
Usando um count(*) e group by id, ele me retorna...
id da empresa | count(*)
111111 | 4
222222 | 2
Não sei se fui bem claro, porém preciso que a busca funcione dessa maneira utilizando parcial da palavra como 'decor' para decorações ou decorando e etc...
Preciso que ele busque apenas se possui ou não um registro com cada palavra-chave dando o seguinte resultado...
id da empresa | count(*)
222222 | 2
111111 | 1
Se puderem ajudar, agradeço.
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.