Fórum Porque nessa Query os dados se repetem? #59376
25/01/2008
0
Itaqui
Curtir tópico
+ 0Posts
25/01/2008
Aroldo Zanela
Tente assim:
SELECT V.codigo_produto, P.DESCRICAO, SUM(QUANTIDADE) AS QUANT FROM PRODUTO P INNER JOIN VENDA_ITEM V ON P.CODIGO = V.CODIGO_PRODUTO GROUP BY V.codigo_produto, P.DESCRICAO ORDER BY V.QUANTIDADE DESC
Gostei + 0
25/01/2008
Itaqui
Obrigado
Gostei + 0
25/01/2008
Aroldo Zanela
Da forma que eu coloquei vai executar corretamente, mas se você colocar a quantidade no agrupamento (group by), certamente irão ocorrer repetições. Você testou?
Gostei + 0
28/01/2008
Itaqui
Invalid expression in the ORDER BY clause (not contained in either an aggregate function or the GROUP BY clause).
No final de semana eu testei exaustivamente e percebi que um campo que tenha a cláusula Sum não pode ser ordenada. Só se existir outras maneiras para isso.
Obrigado
Gostei + 0
28/01/2008
Aroldo Zanela
Para ordenar por um campo de agregação basta utilizar seu alias. Desculpe-me então, pois no meu primeiro exemplo eu me esqueci disso. Veja um exemplo testado com FB 2.0.
select v.pro_id codigo, p.pro_descricao descricao, sum(v.veni_quantidade) qtde from vendas_itens v inner join produtos p on (v.pro_id=p.pro_id) group by v.pro_id, p.pro_descricao order by qtde
Gostei + 0
28/01/2008
Itaqui
1.5.3.4870.
Um abraço
Gostei + 0
28/01/2008
Aroldo Zanela
É bem estranho isso, pois aqui consigo fazer até com DBFs (xBase) e tenho certeza de ter aplicações com FB 1.5 usando esses recursos.
Gostei + 0
06/06/2008
Itaqui
Gostei + 0
06/06/2008
Aroldo Zanela
Comprime o banco de dados e manda para o meu e-mail: zanela_zanela@yahoo.com.br
Gostei + 0
07/06/2008
Emerson Nascimento
SELECT V.codigo_produto, P.DESCRICAO, SUM(V.QUANTIDADE) AS QUANT FROM VENDA_ITEM V INNER JOIN PRODUTO P ON P.CODIGO = V.CODIGO_PRODUTO GROUP BY V.codigo_produto, P.DESCRICAO ORDER BY 3 DESC
Gostei + 0
09/06/2008
Itaqui
Muito obrigado
Gostei + 0
09/06/2008
Emerson Nascimento
então, ali está ordenando pelo terceiro campo, em ordem decrescente.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)