Ir para conteúdo

POWERED BY:

Arquivado

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

webfuture

Ordenação de resultados em busca

Recommended Posts

Olá pessoal, estou com uma dúvida e gostaria de uma ajuda.

 

Tenho um sistema interno em ASP e com banco de dados SQL Server e são feitas algumas buscas, por exemplo quando faço uma busca por: Spiderman, filme os resultados são tragos pela segunda palavra buscada ou seja trás tudo relacionado a filmes de depois o que achar sobre "Spiderman".

 

Gostaria que quando eu efetuasse esta mesma busca, trouxesse tudo relacionado a primeira palavra (neste caso Spiderman) e em seguida os resultados de filme.

 

Alguem pode me dar uma dica do que posso fazer, lembrando que tenho que ordenar tambem pela data de cadastro, ou seja, os ultimos cadastrados serão os primeiros a serem mostrados na busca seguindo esta ordem da primeira palavra / segunda palavra, caso encontre registros de ambas as palavras.

 

 

Meu SQL esta assim:

 

arr= split(Request("campo"),",")'

for x = 0 to ubound(arr)

if x =0 then

varsql = " (campo1) like '%" & (arr(x)) & "%' or (campo2) like '%" & (arr(x)) & "%' or (campo3) like '%" & (arr(x)) & "%' or (campo4) like '%" & (arr(x)) & "%'"

else

varsql = varsql & "or (campo1) like '%" & (arr(x)) & "%' or (campo2) like '%" & (arr(x)) & "%' or (campo3) like '%" & (arr(x)) & "%' or (campo4) like '%" & (arr(x)) & "%' "

end if

next

 

SQL = "select campo1, campoN from tabela WHERE ("& varsql &") ORDER BY DATA_CADASTRO DESC"

 

Desta forma caso encontrado das duas palavras antes e depois da virgula ele ordena somente pela data de cadastro e não pela ordem de palavras.

 

Se alguém puder ajudar,

 

WebFuture

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal, estou com uma dúvida e gostaria de uma ajuda.

 

Tenho um sistema interno em ASP e com banco de dados SQL Server e são feitas algumas buscas, por exemplo quando faço uma busca por: Spiderman, filme os resultados são tragos pela segunda palavra buscada ou seja trás tudo relacionado a filmes de depois o que achar sobre "Spiderman".

 

Gostaria que quando eu efetuasse esta mesma busca, trouxesse tudo relacionado a primeira palavra (neste caso Spiderman) e em seguida os resultados de filme.

 

Alguem pode me dar uma dica do que posso fazer, lembrando que tenho que ordenar tambem pela data de cadastro, ou seja, os ultimos cadastrados serão os primeiros a serem mostrados na busca seguindo esta ordem da primeira palavra / segunda palavra, caso encontre registros de ambas as palavras.

 

 

Meu SQL esta assim:

 

arr= split(Request("campo"),",")'

for x = 0 to ubound(arr)

if x =0 then

varsql = " (campo1) like '%" & (arr(x)) & "%' or (campo2) like '%" & (arr(x)) & "%' or (campo3) like '%" & (arr(x)) & "%' or (campo4) like '%" & (arr(x)) & "%'"

else

varsql = varsql & "or (campo1) like '%" & (arr(x)) & "%' or (campo2) like '%" & (arr(x)) & "%' or (campo3) like '%" & (arr(x)) & "%' or (campo4) like '%" & (arr(x)) & "%' "

end if

next

 

SQL = "select campo1, campoN from tabela WHERE ("& varsql &") ORDER BY DATA_CADASTRO DESC"

 

Desta forma caso encontrado das duas palavras antes e depois da virgula ele ordena somente pela data de cadastro e não pela ordem de palavras.

 

Se alguém puder ajudar,

 

WebFuture

Para facilitar dê um:

response.write SQL
E post o resulta ai.

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá jothaz, segue abaixo o SQL:select id, title, description, keywords from tabela WHERE ( (description) like '%dvd%' or (title) like '%dvd%' or (keywords) like '%dvd%') WebFuture

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.