GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Ajuda com ordenação de consulta

mysql
programação
Tags: #<Tag:0x00007fbf27d88158> #<Tag:0x00007fbf1f758ec0>

#1

Boa tarde pessoal,

Estou com o seguinte problema, devo ordenar uma consulta com o seguinte critério nessa ordem abaixo:

Pendente;
Enviado para análise;
Aprovado;
Não aprovado;
Em preenchimento;
Não apoiado;
Cancelado.

E minha tabela de domínio está dessa forma

1 |Em preenchimento |
2 |Não aprovado |
3 |Aprovado |
4 |Pendente |
5 |Enviado para análise |
6 |Não apoiado |
7 |Cancelado |

Como poderia ser feito o order by desse Select ? O banco em questão é SQL SERVER


#2

Ideal seria criar um campo pro usuário ou administrador definir a ordem na tabela desses status. Mas se não for possível pode fazer isso:

select 
	case campo_status
		when 'Pendente' then 1
		when 'Enviado para análise' then 2
		when 'etc...' then 3
	end ordem,
	outra_coluna
from
	tabela
order by
	ordem

Mas tendo o campo ordem diretamente na tabela de status ficaria livre de manutenção no código, somente tendo que dar order by no campo ordem armazenado. Então recomendo fortemente criar este campo.


#3

Jovem obrigado pela sugestão, ajudou bastante