Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

brunoguitarman

Como ordenar um resultado com inteiros e caracteres ao mesmo tempo?

Recommended Posts

Galera, é o seguinte: tenho um campo aqui na minha tabela que é do tipo char. Ele serve para os tipos 'mobiliário', 'lote' e 'veículo'. O problema é que mobiliário e lote tem esse código como inteiros, por exemplo 1, 2, 533, 98. Já o veículo, esse código como char mesmo e é a placa, tipo IJK5689, AAB2235.

 

Sendo assim se eu fizer um select dessa tabela, ele me retorna seus valores sem problemas, já que esse código é char, então, com os seguintes códigos:

 

1(tipo mobiliário), 2(tipo lote), 3(tipo lote), 9(tipo mobiliário), 45(tipo mobiliário), 54(tipo mobiliário), 320(tipo mobiliário), AAAJJJY(tipo veículo), AABJJJY(tipo veículo).

 

Eu tenho, de acordo com o meu sql, os resultados divididos pelo tipo de dados, então seria assim a resposta:

 

MOBILIÁRIO:

1
320
45
54
9


LOTE:

2
3

VEÍCULO:

AAAJJJY
AABJJJY

Ou seja, ele está ordenando tudo por "ordem alfabética", mas não é isso que eu quero. Eu quero que ele ordene por ordem alfabética quando for do tipo veículo, mas quando for mobiliário e lote, ordene como inteiros, sendo assim, o resultado seria este:

 

MOBILIÁRIO:

1
9
45
54
320

LOTE:

2
3

VEÍCULO:

AAAJJJY
AABJJJY

Eu sei que deve estar meio confuso, mas qualquer dúvida me respondam, por que realmente preciso ter uma idéia de como fazer isso. Imagino que algo como um if, ou sei lá o que já vai ajudar, mas não tenho certeza.

Compartilhar este post


Link para o post
Compartilhar em outros sites

no seu caso como eh soh ordenar, if pode ser quer resolva, mas e porem, sua aplicacao vai ficar pesada se fizer isso direto.

você tem o select que esta tentando rodar isso?!

 

Abçs

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.