Fórum Ordenar Select com like #372895

29/07/2009

0

Fala Galera,

Estou precisando saber como eu faço para ordenar esse select com o Like,

Tipo quando faça o like ele me mostra os resultados ai eu queria ordenar por NOME e depois EMPRESA

dm.dataset.close;
dm.sqldataset.close;
dm.sqldataset.commandtext := ´select cod, nome, empresa, end, end_empresa from t_clientes where like = + QuotedStr(´¬´ + nome_cliente.text + ´¬´ );
dm.dataset.open;

eu queria ordenar isso por dois campos será que alguem sabe ?

Eu Uso Delphi 07 , Firebird 2.0


Valeuuu


Cleiflavio

Cleiflavio

Responder

Posts

29/07/2009

Acacio

O like não é pra odenar, mas sim para filtrar os registros. Para ordenar ainda é o order by. Mas cuidado com o like o SQL não usa índice e fica muito mais lento.


Responder

Gostei + 0

30/07/2009

Osocram

Cleifavio... ficou um pouco confuso o que vc quer.
Mas quem nem o amigo Acacio disse... like não é p ordenar.

Para ordenar teria q fazer o seguinte
dm.sqldataset.commandtext := ´select cod,  nome, empresa, end, end_empresa from t_clientes where like = + QuotedStr(´¬´ + nome_cliente.text + ´¬´ ) + ´ Order by nome,empresa ´;

flw.
Fala Galera, Estou precisando saber como eu faço para ordenar esse select com o Like, Tipo quando faça o like ele me mostra os resultados ai eu queria ordenar por NOME e depois EMPRESA dm.dataset.close; dm.sqldataset.close; dm.sqldataset.commandtext := ´select cod, nome, empresa, end, end_empresa from t_clientes where like = + QuotedStr(´¬´ + nome_cliente.text + ´¬´ ); dm.dataset.open; eu queria ordenar isso por dois campos será que alguem sabe ? Eu Uso Delphi 07 , Firebird 2.0 Valeuuu



Responder

Gostei + 0

30/07/2009

Cleiflavio

Galera, eu sei que o Like não serve para ordenar, mas eu tenho uma consulta usando o Like e o pessoal estava me enchendo para que essa consulta vinhese ordenado , pois quando consulta por um nome vem varios nomes e ai seria melhor se vinhesse ordenado.


Valeuu já acertei aquie e deu certo.

Muito Obrigadooooooo


Responder

Gostei + 0

30/07/2009

Discorpio

Bom dia a todos.

Ordenar por Like :?:

Pessoal, além disso existe um erro nesse SQL.

  ´select cod, nome, empresa, end, end_empresa from t_clientes where <Cadê o nome do Campo> like = + QuotedStr(´¬´ + nome_cliente.text + ´¬´ );


O operador like faz uma comparação por substring que fica entre os caracteres curingas que são os porcentos (´¬´), por isso é necessário que ele faça pesquisa em um determinado campo que voce não forneceu após a cláusula Where


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar