Dúvida Order by

SQL Server

23/09/2011

seguinte, chefia esperta pediu o seguinte,...

tenho um campo la de uma tabela que fica os seguintes valores:

Cadastrado
Em validacao
Nao aprovado
Validado

se eu usar o order by ASC:

Cadastrado
Em validacao
Nao aprovado
Validado

se eu usar o order by DESC:

Validado
Nao aprovado
Em validacao
Cadastrado

mas o milagre que tenho que fazer e ordenar assim:

Nao aprovado
Cadastrado
Em validacao
Validado


alguém tem uma sugestão de como fazer isso????
será que finalmente terei ajuda no fórum?
Wisley Souza

Wisley Souza

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

23/09/2011

faça assim:

select
  (case campo
        when Nao aprovado then 1
        when Cadastrado then 2
        when Em validacao then 3
        when Validado then 4
        else 5
   end) Ordem,
  *
from tabela
order by 1


dessa forma será criado um campo virtual para ordenação. ele será o primeiro campo listado, por isso ordeno pelo elemento 1.


tenho um campo la de uma tabela que fica os seguintes valores:

Cadastrado
Em validacao
Nao aprovado
Validado

se eu usar o order by ASC:

Cadastrado
Em validacao
Nao aprovado
Validado

se eu usar o order by DESC:

Validado
Nao aprovado
Em validacao
Cadastrado

mas o milagre que tenho que fazer e ordenar assim:

Nao aprovado
Cadastrado
Em validacao
Validado


alguém tem uma sugestão de como fazer isso????
será que finalmente terei ajuda no fórum?
GOSTEI 0
Emerson Nascimento

Emerson Nascimento

23/09/2011

esse fórum está cada vez pior....
na resposta anterior tirou os espaços e as aspas.

vou tentar de novo....

select
(case campo
when Nao aprovado then 1
when Cadastrado then 2
when Em validacao then 3
when Validado then 4
else 5
end) Ordem,
*
from tabela
order by 1


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

23/09/2011

bom, creio que você já saiba disso, mas é necessário envolver as situações [b]Nao aprovado[/b], [b]Cadastrado[/b], [b]Em validacao[/b] e [b]Validado[/b] entre aspas.
GOSTEI 0
POSTAR