Criando dinamicamente uma coluna ordenável

 

Algumas vezes você necessita que seus resultados sejam ordenados de uma maneira particular e utilizar a chave primária para isso não é suficiente. Para criar dinamicamente uma coluna ordenável, podemos construir uma query utilizando CASE como a apresentada abaixo:

SELECT name, title, priority =
(CASE title
when 'President' then 1 when 'Vice President' then 2 when
'Secretary' then 3
when 'Treasurer' then 4
end)
FROM executive
ORDER BY priority

Neste exemplo, dou a cada titulo uma prioridade e ordeno-a por esta.