[firebase-br] RES: Order by do avesso.....

Fausto fausto.s.a em uol.com.br
Ter Abr 17 18:22:12 -03 2007


Você pode criar um outro campo em sua tabela.. e definir a ele os 
valores que quer na sua ordenação, sei que vai dizer que a ordenação M L 
A Z B vai variar de alguma forma, mas para isto é só você pegar um 
padrão, ou uma lógica e armazenar o valor do novo aplicando uma formula 
matemática, analise combinatória acho que daria certo.
Fausto
 Murilo -> CPR Sistemas escreveu:
> eu não quero fazer isso pois vou precisar apenas uma vez ou duas vezes 
> em todo o projeto, e o mesmo já foi todo elaborado em cima das "letras"
>
> Eder Mir escreveu:
>   
>> Eu utilizaria um campo numérico para a categoria (já com a precedência
>> definida) e em uma tabela auxiliar, o relacionamento entre o campo e a
>> categoria. O SELECT cuida do resto.
>>
>> Algo mais profundo eu deixo para os mestres.
>>
>> Eder Mir
>>
>>
>> -----Mensagem original-----
>> De: lista-bounces em firebase.com.br
>> [mailto:lista-bounces em firebase.com.br]Em nome de Murilo -> CPR Sistemas
>> Enviada em: terça-feira, 17 de abril de 2007 15:36
>> Para: lista em firebase.com.br
>> Assunto: [firebase-br] Order by do avesso.....
>>
>>
>> Tipo, tem como fazer algo +- assim...
>>
>> um order by, mas eu defino a precedência???
>>
>> por exemplo, eu queria a ordenação dos meus registro de acordo com o
>> tipo, mas não que que seja por ordem alfabética, mas sim por uma
>> ordenação que eu pré-definirei, tenho os produtos nas categorias A,B,M,L
>> e Z.
>>
>> mas gostaria que aparece na seguinte ordem:
>>
>> M
>> L
>> A
>> Z
>> B
>>
>>
>> Por hora o que eu consegui foi assim:
>>
>> select case(fl_tipoitem)
>> 		when 'M' then 'M....'
>> 		when 'L' then 'L....'
>> 		when 'A' then 'A....'
>> 	end as fl_tipoitemextenso,
>>
>> 	case(fl_tipoitem)
>> 		when 'M' then 1
>> 		when 'L' then 2
>> 		when 'A' then 3
>> 	end as id_ordem
>> from TABELA
>> order by id_ordem
>>
>> Mas eu não sei se isso é gambi e deixa o select mais lento, mesmo por
>> qyue por hora só preciso para um caso simples, mas sei que logo
>> precisarem para um caso onde os "case's" serão bem maiores... dai já viu
>> né...
>>
>> O que me dizem? tem um jeito mais fácil, ou vai daquele ali mesmo?
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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
>>
>> --
>> No virus found in this incoming message.
>> Checked by AVG Free Edition.
>> Version: 7.5.446 / Virus Database: 269.5.1/764 - Release Date: 17/04/2007
>> 04:43
>>
>> --
>> No virus found in this outgoing message.
>> Checked by AVG Free Edition.
>> Version: 7.5.446 / Virus Database: 269.5.1/764 - Release Date: 17/04/2007
>> 04:43
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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
>>
>>     
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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
>
>
>   




Mais detalhes sobre a lista de discussão lista