Order By

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
capellao
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 5
Registrado em: Dom, 24 Jun 2007 7:27 pm
Localização: RS

Boa tarde,

Preciso fazer um order by não convencional, não sei se é possível. Ex.:
Tenho um campo numérico qualquer, nele tenho os seguintes valores 1,2,3,4,5,6.
Preciso trazer o resultado ordenado primeiro pelo tipo 4, depois pelo 6, depois 1 etc...

Alguém sabe como fazer isso?
capellao
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 5
Registrado em: Dom, 24 Jun 2007 7:27 pm
Localização: RS

No final foi bem simples... To postando pra se alguém se interessar...

Selecionar tudo

order by case when nome_campo = 4 then 1
                     when nome_campo = 6 then 2
                     ...
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Ou, pode usar DECODE

Selecionar tudo

ORDER BY 
  DECODE( seu_campo, 4, 1
                   , 6, 2
                      , 99 )
Dessa forma, ele vai "transformar" o 4 em 1, o 6 em 2, e o resto em 99 no order by.
:-o
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 12 visitantes