Fórum ORDER BY pelo indice em campo qu e utiliza SUM #59507
01/03/2008
0
Por favor, não use apenas letras maiúsculas no título/texto.
No caso de reincidência, seus tópicos poderão vir a ser bloqueados.
Leia as :arrow: [url=http://forum.clubedelphi.net/viewtopic.php?t=6689]Regras de Conduta[/url] do fórum.[/color:3a928b803c][/quote:3a928b803c]Bom dia a todos, possuo um relatorio com o seguintes campos: IDPRODUTO, DESCRICAO, uma SOMADEQTD e PRECO. Ele esta funcionando legal so que preciso ordenar pelo indice do maior para o menor do campo SOMAQTD. Estou usando o seguinte SQL no Delphi:
SELECT ITENSVENDA.IDPRODUTO, PRODUTOS.DESCRICAO, PRODUTOS.PRECOVENDA, Sum(ITENSVENDA.QTD) AS SomaDeQTD
FROM VENDAS INNER JOIN (PRODUTOS INNER JOIN ITENSVENDA ON PRODUTOS.IDPRODUTO = ITENSVENDA.IDPRODUTO) ON VENDAS.NRVENDA = ITENSVENDA.NRVENDA WHERE (CAST(VENDAS.DATA AS DATE)) >=:DATAINICIAL AND (CAST(VENDAS.DATA AS DATE)) <=:DATAFINAL
GROUP BY ITENSVENDA.IDPRODUTO, PRODUTOS.DESCRICAO, PRODUTOS.PRECOVENDA ORDER BY 4, PRODUTOS.DESCRICAO DESC
ai fica do menor para o maior, em compensacao o mesmo codigo funciona direto no interbase/firebird ficando do maior para o menor.
SELECT ITENSVENDA.IDPRODUTO, PRODUTOS.DESCRICAO, PRODUTOS.PRECOVENDA, Sum(ITENSVENDA.QTD) AS SOMADEQTD
FROM VENDAS INNER JOIN (PRODUTOS INNER JOIN ITENSVENDA ON PRODUTOS.IDPRODUTO = ITENSVENDA.IDPRODUTO) ON
VENDAS.NRVENDA = ITENSVENDA.NRVENDA WHERE (CAST(VENDAS.DATA AS DATE)) >=´01/01/2008´ AND (CAST(VENDAS.DATA AS DATE)) <=´01/01/2009´
GROUP BY ITENSVENDA.IDPRODUTO, PRODUTOS.DESCRICAO, PRODUTOS.PRECOVENDA ORDER BY 4 DESC
Só no delphi que nao funciona, será um bug do Delphi, alguem possui outra sugestão de SQL?
Abraço a todos
Frostlost
Curtir tópico
+ 0Posts
01/03/2008
Sremulador
SELECT ITENSVENDA.IDPRODUTO, PRODUTOS.DESCRICAO, PRODUTOS.PRECOVENDA, Sum(ITENSVENDA.QTD) AS SOMADEQTD FROM VENDAS INNER JOIN (PRODUTOS INNER JOIN ITENSVENDA ON PRODUTOS.IDPRODUTO = ITENSVENDA.IDPRODUTO) ON VENDAS.NRVENDA = ITENSVENDA.NRVENDA WHERE (CAST(VENDAS.DATA AS DATE)) >=´01/01/2008´ AND (CAST(VENDAS.DATA AS DATE)) <=´01/01/2009´ GROUP BY ITENSVENDA.IDPRODUTO, PRODUTOS.DESCRICAO, PRODUTOS.PRECOVENDA ORDER BY 3 DESC
Gostei + 0
01/03/2008
Frostlost
SELECT ITENSVENDA.IDPRODUTO, PRODUTOS.DESCRICAO, PRODUTOS.PRECOVENDA, Sum(ITENSVENDA.QTD) AS SOMADEQTD FROM VENDAS INNER JOIN (PRODUTOS INNER JOIN ITENSVENDA ON PRODUTOS.IDPRODUTO = ITENSVENDA.IDPRODUTO) ON VENDAS.NRVENDA = ITENSVENDA.NRVENDA WHERE (CAST(VENDAS.DATA AS DATE)) >=´01/01/2008´ AND (CAST(VENDAS.DATA AS DATE)) <=´01/01/2009´ GROUP BY ITENSVENDA.IDPRODUTO, PRODUTOS.DESCRICAO, PRODUTOS.PRECOVENDA ORDER BY 3 DESC
Gostei + 0
01/03/2008
Frostlost
[color=green:652a802f25]Não poste totalmente em maiúsculas.[/color:652a802f25]
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)