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