order by+HQL
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?
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
Curtidas 0
Respostas
Davi Costa
23/09/2011
Seria interessante entender mais das suas tabelaspara uma ajuda mais elegante. Mas de ante mão vou te dizer q não é impossível , vc cria mais uma coluna de ordem para sua tabela e dáorder by através dela, e vc ordena conforme sua chefia quer no banco, porém pode ter uma forma melhor..é o que falei estou muito descontextualizado p ajudar melhor.
att Davi
att Davi
GOSTEI 0
Wisley Souza
23/09/2011
nao era bem o que eu queria, mas tu me deu uma ideia, vou criar um transiente e vou ordenar por ele
GOSTEI 0
Wisley Souza
23/09/2011
pelo jeito o tipo transient nao funciona na consulta hql...
GOSTEI 0
Robson Teixeira
23/09/2011
Crie um campo na tabela e ordene por esse campo acho que é a melhor solução pedida pela chefia
exemplo
atualmente no banco
NOME Type
--------------------
Cadastrado 2
Em validacao 3
Nao aprovado 1
Validado 4
resultado da consulta com order by
NOME Type
--------------------
Nao aprovado 1
Cadastrado 2
Em validacao 3
Validado 4
sacou????
espero ter ajudado
att
robson
exemplo
atualmente no banco
NOME Type
--------------------
Cadastrado 2
Em validacao 3
Nao aprovado 1
Validado 4
resultado da consulta com order by
NOME Type
--------------------
Nao aprovado 1
Cadastrado 2
Em validacao 3
Validado 4
sacou????
espero ter ajudado
att
robson
GOSTEI 0
Wisley Souza
23/09/2011
ima gina o seguinte
Pessoa status
fulano Nao Aprovado
cicranu Cadastrado
FDP Validado
EU revalidado
agora imagina que tenho que ordenar na forma que te disse, como faço pelo estatus, mas nao e desc nem ASC.. e misturado, to puto com esse pedido, coisa mais I@$#$
Pessoa status
fulano Nao Aprovado
cicranu Cadastrado
FDP Validado
EU revalidado
agora imagina que tenho que ordenar na forma que te disse, como faço pelo estatus, mas nao e desc nem ASC.. e misturado, to puto com esse pedido, coisa mais I@$#$
GOSTEI 0
Robson Teixeira
23/09/2011
NOME Type
--------------------
Cadastrado 2
Em validacao 4
Nao aprovado 1
Validado 3
NOME Type
--------------------
Nao aprovado 1
Cadastrado 2
Validado 3
Em validacao 4
ordenação só é possivel tanto em codigo quanto no banco sempre em ASC ou DESC so precisa escolher o atributo que vai ser ordenado e montar atraves dele.
--------------------
Cadastrado 2
Em validacao 4
Nao aprovado 1
Validado 3
NOME Type
--------------------
Nao aprovado 1
Cadastrado 2
Validado 3
Em validacao 4
ordenação só é possivel tanto em codigo quanto no banco sempre em ASC ou DESC so precisa escolher o atributo que vai ser ordenado e montar atraves dele.
GOSTEI 0
Wisley Souza
23/09/2011
Solucionei, com ajuda de um amigo la do Forum de SQL misturei a dica dele e deu resultado
fica adica pra quem precisar ordenar de uma maneira bizarra como minha chefe pediu
resolvido, fica a dica, nao precisei criar um campo na tabela ;)
fica adica pra quem precisar ordenar de uma maneira bizarra como minha chefe pediu
order by (case inv.status +
when Nao Aprovado then 1 +
when Cadastrado then 2 +
when Revalidado then 3 +
when Em Validacao then 4 else 5 end)
resolvido, fica a dica, nao precisei criar um campo na tabela ;)
GOSTEI 0
Davi Costa
23/09/2011
Show de bola! Muito boa a iniciativa de postar sua solução.
Assim que possível fechar o chamado.
att Davi
Assim que possível fechar o chamado.
att Davi
GOSTEI 0
Robson Teixeira
23/09/2011
Parabens kra show mesmo e assim realmente é melhor.
GOSTEI 0
Wisley Souza
23/09/2011
cara ate qria fechar, mas não tem a opção, fechar... sumiu hehe
GOSTEI 0
Dyego Carmo
23/09/2011
Deu certo ?
Se funcionou... poderia fechar o chamado ?
Valeu !
Se funcionou... poderia fechar o chamado ?
Valeu !
GOSTEI 0