Olá, estou com um problema grande para resolver e gostaria de uma ajuda.
Segue o problema.
Existe uma tabela chamada "produtos", onde contem os campos (quantidade, situacao). Logico que contem mais campos porem o probme aestá com estes dois (quantidade, situacao) na hora de ordenar.
Vamos ao principal.
* Campo (quantidade): Inteiro que recebe a quantidade de produtos.
* Campo (situacao): Inteiro que recebe (0) para produtos em prevenda (1) para produtos sob-encomenda e (2) para produtos com estoque normal.
Ai que está problema, na ordenação que preciso, que por vez seria esta:
1) Primeiramente aparecer todos os produtos que está na situação (2 - estoque normal por data descrecente), porem apenas os que tem mais que 0 no campo quantidade.
2) Aparecer após os produtos com situação (0 - produtos em prevenda por data descrecente)
3) Aparecer produtos para com situação (1 - produtos sub-encomenda).
É esse o problema, preciso jogar todos produtos esgotados por final, porem se der um Order By primeiramente no campo quantidde, irá aparecer no meio os produtos de situação diferentes.
Pensei em fazer isso:
Select * From produtos Order By situacao=2 DESC, produto.situacao=0 DESC, produto.situacao=1 DESC, data_prevenda ASC
O problema é que quando jogo (produto.situacao=2) ele mostrará todos produtos com situação 2, inclusive os que tem quantidde 0.
Então a duvida maior seria em como jogar todos produtos que está com quantidade 0 por ultimo, mas tem que aparecer primeiros os produtos que tem quantidade maior que 0 e ordenado pela sitação.
Seria amis ou menos isso na teria, mas seiq ue não da pra usar Where dentro do order by:
... Order By situacao=2 (where quantidade > 0), situacao=0 (where quantidade > 0) ...
Alguém pode me dar uma luz, pois ta complicado.
Agradeço a atenção de todos.
Rodrigo.
Editado por Denis Courcy Titulo Modificado. Ver regra 3.6
Pergunta
wdsistemas
Olá, estou com um problema grande para resolver e gostaria de uma ajuda.
Segue o problema.
Existe uma tabela chamada "produtos", onde contem os campos (quantidade, situacao). Logico que contem mais campos porem o probme aestá com estes dois (quantidade, situacao) na hora de ordenar.
Vamos ao principal.
* Campo (quantidade): Inteiro que recebe a quantidade de produtos.
* Campo (situacao): Inteiro que recebe (0) para produtos em prevenda (1) para produtos sob-encomenda e (2) para produtos com estoque normal.
Ai que está problema, na ordenação que preciso, que por vez seria esta:
1) Primeiramente aparecer todos os produtos que está na situação (2 - estoque normal por data descrecente), porem apenas os que tem mais que 0 no campo quantidade.
2) Aparecer após os produtos com situação (0 - produtos em prevenda por data descrecente)
3) Aparecer produtos para com situação (1 - produtos sub-encomenda).
É esse o problema, preciso jogar todos produtos esgotados por final, porem se der um Order By primeiramente no campo quantidde, irá aparecer no meio os produtos de situação diferentes.
Pensei em fazer isso:
Select * From produtos Order By situacao=2 DESC, produto.situacao=0 DESC, produto.situacao=1 DESC, data_prevenda ASC
O problema é que quando jogo (produto.situacao=2) ele mostrará todos produtos com situação 2, inclusive os que tem quantidde 0.
Então a duvida maior seria em como jogar todos produtos que está com quantidade 0 por ultimo, mas tem que aparecer primeiros os produtos que tem quantidade maior que 0 e ordenado pela sitação.
Seria amis ou menos isso na teria, mas seiq ue não da pra usar Where dentro do order by:
... Order By situacao=2 (where quantidade > 0), situacao=0 (where quantidade > 0) ...
Alguém pode me dar uma luz, pois ta complicado.
Agradeço a atenção de todos.
Rodrigo.
Editado por Denis CourcyTitulo Modificado. Ver regra 3.6
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.