none
SELECT RRS feed

  • Pergunta

  • Muito bom dia.

    select f.codfornec, f.fornecedor, p.descricao, es.dtultent, es.valorultent, pr.ptabela1, SUM((pr.ptabela1 / es.valorultent) - 1) * 100 "MARGEM",
          pr.codprod,es.codfilial,ES.qtest, :DATAINI, :DATAFIM
          from pcfornec f,pcprodut p,  pctabpr pr, pcest es
          where f.codfornec = p.codfornec and p.codprod = pr.codprod and es.codprod = p.codprod
          and es.codfilial in(:wcodfilial)
          AND pr.numregiao = ROUND(:wnumregiao)
         -------> and UPPER(f.fornecedor) like ('%'||UPPER(:wfornecedor)||'%')
          AND es.dtultent BETWEEN :dataini AND :datafim
          AND ((:QTD in ('S','s') and es.qtest >= 0) or (:QTD <> 'S' and es.qtest > 0))
          group by f.codfornec, f.fornecedor, es.dtultent, es.valorultent, pr.ptabela1, pr.codprod,
             es.codfilial,pr.ptabela1, p.descricao,ES.qtest, :DATAINI,:DATAFIM
          order by f.fornecedor

    Estou precisando aprimorar essa pesquisa ali onde esta apontando a seta ( ------->) para que o usuário ao digitar apenas as iniciais do nome do fornecedor, seja mostrado abaixo umbox onde mostre todos os fornecedores cujop nome inicie com aqueles caracteres que fora previamente digitado.

    OBS: SOU NOVATO NESSE AKI E FICO AGRADECIDO.

    quarta-feira, 4 de dezembro de 2013 14:58

Respostas

  • Miranda,

         Por uma questão de performance, eu nao utilizaria uma função no lado esquerdo do seu filtro como voce está fazendo... Além disso, o UPPER só é necessário caso o collation do seu campo seja ..._CS... (case sensitive) Se você está usando o collation default do SQL Server - SQL_Latin1_General_CP1_CI_AS, isso nao é necessário pois ela é CI (Case INsensitive, ou seja, roberto é exatamente igual a ROBERTO ou Roberto.

         Respondendo sua pergunta, uma opção é voce utilizar a função SOUNDEX que trata da similaridade entre duas strings... 

         Mas... a principal pergunta... A sua query é ORACLE??? Se for isso, esqueça tudo o que expliquei e procure um forum de Oracle que pode ajudar melhor voce...


    Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008

    • Sugerido como Resposta Giovani Cr terça-feira, 10 de dezembro de 2013 12:44
    • Marcado como Resposta Giovani Cr quinta-feira, 12 de dezembro de 2013 10:53
    quarta-feira, 4 de dezembro de 2013 16:42
    Moderador
  • Deleted
    • Sugerido como Resposta Giovani Cr terça-feira, 10 de dezembro de 2013 12:44
    • Marcado como Resposta Giovani Cr quinta-feira, 12 de dezembro de 2013 10:53
    quarta-feira, 4 de dezembro de 2013 15:29
  • Bom dia Miranda,

    Se alguma sugestão passada ajudou você não esqueça de marcar como resposta para fechar sua Thread.

    Att,


    Giovani Cruzara – Microsoft Contingent Staff

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.

    Msdn Community Support

    Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    • Marcado como Resposta Giovani Cr quinta-feira, 12 de dezembro de 2013 10:53
    terça-feira, 10 de dezembro de 2013 12:44

Todas as Respostas

  • Deleted
    • Sugerido como Resposta Giovani Cr terça-feira, 10 de dezembro de 2013 12:44
    • Marcado como Resposta Giovani Cr quinta-feira, 12 de dezembro de 2013 10:53
    quarta-feira, 4 de dezembro de 2013 15:29
  • Miranda,

         Por uma questão de performance, eu nao utilizaria uma função no lado esquerdo do seu filtro como voce está fazendo... Além disso, o UPPER só é necessário caso o collation do seu campo seja ..._CS... (case sensitive) Se você está usando o collation default do SQL Server - SQL_Latin1_General_CP1_CI_AS, isso nao é necessário pois ela é CI (Case INsensitive, ou seja, roberto é exatamente igual a ROBERTO ou Roberto.

         Respondendo sua pergunta, uma opção é voce utilizar a função SOUNDEX que trata da similaridade entre duas strings... 

         Mas... a principal pergunta... A sua query é ORACLE??? Se for isso, esqueça tudo o que expliquei e procure um forum de Oracle que pode ajudar melhor voce...


    Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008

    • Sugerido como Resposta Giovani Cr terça-feira, 10 de dezembro de 2013 12:44
    • Marcado como Resposta Giovani Cr quinta-feira, 12 de dezembro de 2013 10:53
    quarta-feira, 4 de dezembro de 2013 16:42
    Moderador
  • Bom dia Miranda,

    Se alguma sugestão passada ajudou você não esqueça de marcar como resposta para fechar sua Thread.

    Att,


    Giovani Cruzara – Microsoft Contingent Staff

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.

    Msdn Community Support

    Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    • Marcado como Resposta Giovani Cr quinta-feira, 12 de dezembro de 2013 10:53
    terça-feira, 10 de dezembro de 2013 12:44