Selecao DevMedia QUERO SER PRIME

Fórum Consulta em Ordem Decrescente não Funciona #335110

22/12/2006

0

Por que a consulta abaixo não lista os registros em ordem decresente de valor?

´
SELECT DESCRICAO, SUM(SUBTOTAL) AS VALORTOTAL
FROM VIEW_VENDA_PRODUTOS WHERE DATA
BETWEEN :VInicio AND :VFim GROUP BY 1 ORDER BY 2 DESC
´
Se eu colocar ou não o ´DESC´ no final não faz diferença. Os registros são listados em ordem de VALORTOTAL, mas de forma crescente. O que eu preciso é que sejam listados iniciando pelo maior valor.

Alguém pode me ajudar?

Obrigado.


Armindo

Armindo

Responder

Posts

22/12/2006

Macario

Ola
JA tentou ao invez de passar o index da coluna passar o nome(no caso Alias)?


Responder

Gostei + 0

22/12/2006

Armindo

Isso não funciona o campo VALORTOTAL nao existe na tabela. Ele é criado na hora da consulta sql. Não dá para passá-lo como parâmetro com seu nome, somente pelo indice dele na consulta.


Responder

Gostei + 0

22/12/2006

Armindo

Isso não funciona o campo VALORTOTAL nao existe na tabela. Ele é criado na hora da consulta sql. Não dá para passá-lo como parâmetro com seu nome, somente pelo indice dele na consulta.


Se eu utilizar ORDER BY VALORTOTAL, vai dar erro de unknow column


Responder

Gostei + 0

22/12/2006

Macario

Olá.

Deveras,

Mas me diga qual base de dados você faz uso?

Apenas como referêmcoa esta instrução é suportada pelo MSSQL

select DESCRICAO, sum(SUBTOTAL) as VALORTOTAL 
from VIEW_VENDA_PRODUTOS where DATA 
between :VInicio and :VFim group by BY DESCRICAO, VALORTOTAL desc



[]´s


Responder

Gostei + 0

22/12/2006

Leufmt

Uma sugestão: Crie uma tabela temporário com o ClientDataSet e jogue todos os campos do resultado desta tua consulta e depois no ClientDataSet ordene pelo campo que tu quer.


Leandro Lázaro


Responder

Gostei + 0

23/12/2006

Cabreu.jr

Tenta colocar ORDER BY 2 DESC
(ordenação pelo indice da coluna ao inves do nome)


Responder

Gostei + 0

23/12/2006

Armindo

Caro cabreu,

É exatamente assim que estou fazendo. Veja no início do tópico. Coloquei toda a instrução.
O problema é que não funciona.

Obrigado.


Responder

Gostei + 0

23/12/2006

Armindo

Prezado Macario,

É firebird 1.5 e essa instrução não funciona. O campo virtual não pode ser utilizado na cláusula order by.

Mais alguma sugestão.

Obrigado.


Responder

Gostei + 0

26/12/2006

Macario

Olá [b:295d09c31c]Armindo[/b:295d09c31c], bom dia.

Faça um teste sem fazer uso da VIEW, acredito que deve ser este o motivo pelo qual a instrução não funciona, talvez não haja suporte a este tipo de operação mesmo.

[]´s


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar