Fórum Problemas com comando SQL LIKE #420566
26/07/2012
0
Codigo - DSPRODUTO
01 - ACUCAR COM BACIA
02 - COLUNA PARA BACIA
03 - BACIA NORMAL
mas o que o meu cliente quer que fique ordenado primeiro pela descrição digitada, onde ficaria assim:
Codigo - DSPRODUTO
03 - BACIA NORMAL
01 - ACUCAR COM BACIA
02 - COLUNA PARA BACIA
Não consegui encontrar um meio ainda de fazer, se houver alguém que possa me dar uma idéia de como resolver, ficaria muito grato!
Cristiano
Curtir tópico
+ 0Posts
26/07/2012
Joel Rodrigues
Gostei + 0
26/07/2012
Cristiano
Gostei + 0
26/07/2012
Joel Rodrigues
Gostei + 0
27/07/2012
Anderson
select *
from
(select P.*,
(case when P.DSPRODUTO like :CAMPO||% then 0 else 1 end)||P.DSPRODUTO as DSPRODUTO_TEMPORARIO
from PRODUTOS P
where P.DSPRODUTO like %||:CAMPO||%)
order by DSPRODUTO_TEMPORARIO;
A idéia é simples, colocar uma prioridade de ordem caso o nome inicie com a palavra utilizada na busca.
Abraços,
Anderson:.
Gostei + 0
27/07/2012
Cristiano
Olá Anderson, obrigado pelo dica, mas o comando Like no comando (case when P.DSPRODUTO like :CAMPO||% then 0 else 1 end) dá erro e portando, não consigo tb listar da forma desejada.
Se tiverem outra idéia de como poderei estar fazendo.
Gostei + 0
27/07/2012
Anderson
Sugiro que faça um teste primeiro em uma ferramenta de banco de dados (Flamerobin, IBExpert, IBConsole, etc.) e só depois porte o código para Delphi. Teoricamente, se rodar em um destes utilitários, deverá tambem funcionar no Delphi exceto se houver alguma incompatibilidade com o componente de acesso. Caso execute o comando pelo Flamerobin e não funcionar, poste uma mensagem com o comando na integra, a linha do erro e a mensagem retornada.
Abraços,
Anderson:.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)