Ir para conteúdo

POWERED BY:

Arquivado

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

flporps

Busca com LIKE "Diferente"

Recommended Posts

Ola a todos!Estou cadastrado no Forum faz tmepo mas pouco posto novas pergutnas pq sempre acho o que preciso com a busca!!!!Porem estou com uma duvida que não achei a solução!Assim quero fazer uma busca em um campo do meu Db, que ficam salvos os 'ID's" dos produtos que um determinado revendedor compra.Assim: Nome do Campo: Mail_ProdutosGertec Valores do Campo: 1, 4, 14, 2, 33, 44Keria fazer uma busca Detro desse campo que me trga todos revendedores que tenho o Produto "1", mas que não me traga os que tem o pdoruto 10, 11, 21, 41, etc....Alguem sabe como fazer isso?Muito Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

separa adicionando novos registros autonuméricos e faça o que o Ted k disse...fica melhor...qualquer dúvida posta ai!

Compartilhar este post


Link para o post
Compartilhar em outros sites

realmente a forma como esta seu DB fora dos padroes de normalização nao ajudampara conseguir seu resultado do jeito que esta teremos que fazer as famosas gambiarras, quem nunca fez uma que atire a primeira pedra...

SELECT * FROM Tabela WHERE Produto LIKE '1, %' OR Produto LIKE '%, 1,%' OR Produto LIKE '%, 1'

acho que é isso mas nao é muito bonito nao viu

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você gravar desta forma fica mais simples

 

|01|02|03|15|52|

 

então você faz um select e depois testa se existe os dados, tipo assim:

ASP
sql="select ProdutosGertec from produtos where idproduto=1"

set rs=con.execute(sql)

if not rs.eof then

if instr(rs("ProdutosGertec"),"|03|")<>0 then

response.write(localizou ProdutosGertec)

else

response.write("não encontrado o codigo em ProdutosGertec")

end if

else

response.write("produto não localizado")

response.end()

end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao mas o ideal mesmo era ter uma tabela auxiliar so para isso conforme manda o manual de normalização de DB

Compartilhar este post


Link para o post
Compartilhar em outros sites

realmente a forma como esta seu DB fora dos padroes de normalização nao ajudampara conseguir seu resultado do jeito que esta teremos que fazer as famosas gambiarras, quem nunca fez uma que atire a primeira pedra...

SELECT * FROM Tabela WHERE Produto LIKE '1, %' OR Produto LIKE '%, 1,%' OR Produto LIKE '%, 1'

acho que é isso mas nao é muito bonito nao viu
MUITO OBRIGADO!!!!! FICOU PERFEITO VALEW!!!!!!!!!!!!!!!1

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao mas gostaria que ficasse clara a perda de performance do seu sistema pois ele busca por comparação em tres situaçoes, no inicio do meio e no fim da string, quando pdoeria buscar apenas por igualdade fazendo com que sua aplicação seja muito mais lenta do que o normalFica a sugestão para que daqui para frente busque fazer seus sistemas usando a forma correta de normalização de DB que trará muitos beneficios até mesmo simplicando seus codigos

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.