none
Dúvida SQL RRS feed

  • Pergunta

  • Não sei bem se o post é para ser aqui, mas...

     

    Eu quero criar uma query que faça uma busca semelhante à do google.

    Select tabela1.*, tabela2.nome as nometabela2, tabela2.endereco as endtabela2 From tabela1inner join tabela2on tabela1.id_tabela2=tabela2.id Where tabela1.nome like ? Or tabela1.descricao Like ? Or tabela2.nome Like ? Or tabela2.descricao Like ? Or tabela2.endereco Like ? order by tabela1.nome, tabela2.nome

     

     

     

    essa é minha query.

    não sei se deu pra entender, mas eu quero que quando o usuario digitar no campo de pesquisa, digamos que digite:  "poodle bv", ai tem que retornar todos os poodles de boa viagem (nem sei se é assim que escreve)...

     

    o importante é que as pesquisas se baseiem em "tags".


    Att, Hugo S. Mendes
    domingo, 13 de março de 2011 19:46

Respostas

  • Hugo,

         Talvez o like não seja uma boa alternativa por uma questão de performance... Eu recomendaria que você desse uma olhada sobre Full-Text Search, que acho, seja muito mais adequado para a sua query do que o like.

     


    Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008
    • Marcado como Resposta Hugo S. Mendes segunda-feira, 14 de março de 2011 02:43
    segunda-feira, 14 de março de 2011 01:47
    Moderador
  • hugo,

     

    Só complementando a resposta o Roberto, Full-text é muito bom em questão não só de performance, exemplo, quando voce vai no google e procura: Star uars, ele te sugere Star Wars? pois é, é possivel fazer algo bem semalhando (quase igual =D) com o Full-Text, ainda mais com seu exemplo, uma pessoa pode digitar: Poodles BV, Poodles boa viajem e por ai vai.....A criatividade do usuario é sem limite rs....


    ------------------------------------------------------------- Oracle OCA11g
    • Marcado como Resposta Hugo S. Mendes segunda-feira, 14 de março de 2011 02:43
    segunda-feira, 14 de março de 2011 02:42
    Moderador

Todas as Respostas

  • Hugo,

         Talvez o like não seja uma boa alternativa por uma questão de performance... Eu recomendaria que você desse uma olhada sobre Full-Text Search, que acho, seja muito mais adequado para a sua query do que o like.

     


    Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008
    • Marcado como Resposta Hugo S. Mendes segunda-feira, 14 de março de 2011 02:43
    segunda-feira, 14 de março de 2011 01:47
    Moderador
  • hugo,

     

    Só complementando a resposta o Roberto, Full-text é muito bom em questão não só de performance, exemplo, quando voce vai no google e procura: Star uars, ele te sugere Star Wars? pois é, é possivel fazer algo bem semalhando (quase igual =D) com o Full-Text, ainda mais com seu exemplo, uma pessoa pode digitar: Poodles BV, Poodles boa viajem e por ai vai.....A criatividade do usuario é sem limite rs....


    ------------------------------------------------------------- Oracle OCA11g
    • Marcado como Resposta Hugo S. Mendes segunda-feira, 14 de março de 2011 02:43
    segunda-feira, 14 de março de 2011 02:42
    Moderador
  • Essa foi a coisa mais bonita que já descobri eu acho. :D 

     

    Obrigado, pessoal.


    Att, Hugo S. Mendes
    segunda-feira, 14 de março de 2011 02:44