Re: [firebase-br] Entrada na Lista e 1º Duvida Pesquisa Enorme SQL
Kléber Caneva
kdcc em terra.com.br
Qui Fev 23 09:54:06 -03 2006
Primeiramente Seja bem vindo...
Quanto a sua duvida voc pode resoovê-la substituindo os espaço por ...
ou seja sua frase: 'Ola amigos companheiros'
ficaria CAMPO LIKE '%Ola%amigos%companheiros%'
[]´s
Kléber Caneva
----- Original Message -----
From: "Mario H" <brujeria em task.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, February 22, 2006 5:16 PM
Subject: [firebase-br] Entrada na Lista e 1º Duvida Pesquisa Enorme SQL
Ae pessoal,
fazia muito tempo que eu não participava de uma lista de discussão e
resolvi
me integrar nesta, apos ver varias discussoes de alto nivel.
Gostaria de me apresentar, meu nome é Mario Henrique e mexo com
computadores
desde q me lembro por gente. Hoje tenho 23 e ja passei por varias
linguagens
mas esta na hora de desenvolver o lado de BD.
Espero contribuir para o alto nivel da lista e tambem pedir informações
como
todo pobre mortal =)
Vou começar com uma duvida:
Gostaria de fazer uma pesquisa de tal maneira que se uma pessoa escrever
"Ola amigos companheiros" retornasse todos os campos da tabela que tiver
'%OLA%' e/ou '%AMIGOS%' e/ou '%COMPANHEIROS%'
Mas para fazer isso meu SQL ta ficando imenso, porque para cada campo
tenho
q fazer CAMPO LIKE '%OLA%' OR CAMPO LIKE '%AMIGOS%' OR CAMPO LIKE
'%COMPANHEIROS%'.
Eu procurei nas documentações e existe a ferramente IN, de tal forma que
eu
poderia fazer CAMPO IN ('OLA','AMIGOS','COMPANHEIROS').
Assim seria perfeito, a nao ser que não dá para usar o operador %. Daí a
consulta não iria identifica palavras como 'paOLA' entre outros..
Tentei também usar o IN junto com o LIKE , tipo CAMPO LIKE IN ou CAMPO IN
LIKE, e parece que o firebird nao tem suporte a isto. Eu posso usar o
union,
mas a pesquisa vai ficar ainda maior.
Alguem tem uma sugesão de como fazer esta pesquisa mais eficaz? Imagine
fazer uma pesquisa desta, com 3 parametros, 5 tabelas relacionadas e mais
7
campos por tabela. Dai teriamos uma sql enorme com 3x5x7 = 105 expressoes
como TABELA.CAMPO LIKE '%parametro%'.
Lembrando que eu posso usar ao invez do LIKE o CONTAINING, para encurtar
ainda mais
e nao usar o operador %.
E isso ae pessoal, muito obrigado e espero sempre poder ajudar tambem!
Mario Henrique
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
E-mail classificado pelo Identificador de Spam Inteligente Terra.
Para alterar a categoria classificada, visite
http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=kdcc&_l=1,1140641009.190512.9577.almora.terra.com.br,5069,Des15,Des15
Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 22/02/2006 / Versão:
4.4.00/4703
Proteja o seu e-mail Terra: http://mail.terra.com.br/
Mais detalhes sobre a lista de discussão lista