Boa Tarde,
O título aparenta ser simples porém é um pouco mais confuso do que isso.
Tenho uma Query que me retorna uma lista de Produtos e Valores, ordenados pelo Pedido do sistema. Essa ordenação não pode ser mexida em hipótese alguma, pois se trata da regra do cliente.
Exemplo:
Pedido 001 - Item 001 - Valor 10
Pedido 001 - Item 002 - Valor 0
Pedido 001 - Item 003 - Valor 20
Pedido 002 - Item 001 - Valor 10
Pedido 002 - Item 002 - Valor 0
Pedido 002 - Item 003 - Valor 20
O que eu preciso: O cliente pede que a Query retorne a lista desta forma, porém os produtos com valores ZERADOS devem ficar no final da lista, ignorando o Order By.
No caso, ficaria assim:
Pedido 001 - Item 001 - Valor 10
Pedido 001 - Item 003 - Valor 20
Pedido 001 - Item 002 - Valor 0
Pedido 002 - Item 001 - Valor 10
Pedido 002 - Item 003 - Valor 20
Pedido 002 - Item 002 - Valor 0
Há como fazer isto diretamente na Query ? Não posso perder a ordenação de Pedido x Item porém os zerados sempre devem aparecer no final.
Anexo Query:
" SELECT CB8_ITEM, CB8_PROD, CB8_QTDORI, CB7_DTEMIS, CB7_HREMIS, CB7_CLIENT,
CB7_LOJA, CB8_PEDIDO, CB7_ORDSEP, B2_LOCALIZ, C6_VALOR
FROM CB8010 CB8 INNER JOIN CB7010 CB7
ON CB7_FILIAL = '01'
AND CB7_ORDSEP = CB8_ORDSEP
INNER JOIN SB2010 SB2 ON B2_FILIAL = '01'
AND B2_COD = CB8_PROD
AND B2_LOCAL = CB8_LOCAL
AND SB2.D_E_L_E_T_ = ' '
INNER JOIN SC6010 SC6 ON C6_FILIAL = '01'
AND C6_NUM = CB8_PEDIDO
AND C6_ITEM = CB8_ITEM
AND SC6.D_E_L_E_T_ = ' '
WHERE CB8_FILIAL = '01'
AND CB8_PEDIDO BETWEEN ' ' AND 'ZZZZZZ'
AND CB8_ORDSEP BETWEEN '000097' AND '000097'
AND CB7_IMPRES = ' '
AND CB8.D_E_L_E_T_ = ' '
ORDER BY CB7_ORDSEP, B2_LOCALIZ "
Abraços e Obrigado.