Usuário com melhor resposta
Select Distinct

Pergunta
-
Alguem poderia me ajudar nesse select, pois preciso retornar os produtos mais vendidos, desde já agradeço.
"SELECT DISTINCT A.codProd, B.produto, SUM(A.qtd) as qtd, B.estoque " & _ "FROM itemSacola A " & _ "INNER JOIN cad_produto B ON A.codProd = B.codProd " & _ "GROUP BY A.codProd, B.produto, A.qtd, B.estoque"
- Tipo Alterado Edi Carlos_MA sábado, 1 de setembro de 2012 15:36
Respostas
-
Olá Edi, você não precisa colocar a coluna calculada "a.qtd" no Group by, por exemplo:
Seu select está assim:
group by a.codprod, b.produto, a.qtd, b.estoque
ele pode ficar assim:
group by a.codprod, b.produto, b.estoque
Att.,
Jeimes Ribeiro
- Marcado como Resposta Edi Carlos_MA sábado, 1 de setembro de 2012 15:36
Todas as Respostas
-
Olá Edi
Pelo que entendi vendo seu select, você está tentando retornar os produtos mais vendidos por quantidade, mas o que deseja realmente?
Você quer mostrar, como por exemplo, os 20 produtos mais vendidos por quantidade?
Se for isso, e você estiver utilizando o SQL Server, poderá utilizar o TOP(), assim ele retornará os maiores dependendo da quantidade que você informar (TOP(20) - retorna os 20 produtos).
Se você colocar em ordem decrescente a coluna quantidade, terás os 20 mais vendidos por quantidade.
Select Top(20) ...
Caso eu tenha entedido errado me dê mais detalhes para eu tentar lhe ajudar.
Att.,
Jeimes Ribeiro
-
Olá Amigo,
Desde já agradeço a atenção,
isso ai eu fiz ta blz, só que está repetindo os registros. Por exemplo:
Se eu fiz 2 vendas, e nas duas consta o produto 0001, na primeira eu vendi 10 unidades e na segunda eu vendi 5, a minha query teria que me retornar 15 unidades do produto 0001, e não esta acontecendo assim, ele mostra separado.
Se não fui claro me diga que melhoro a explicação. -
Olá Edi, você não precisa colocar a coluna calculada "a.qtd" no Group by, por exemplo:
Seu select está assim:
group by a.codprod, b.produto, a.qtd, b.estoque
ele pode ficar assim:
group by a.codprod, b.produto, b.estoque
Att.,
Jeimes Ribeiro
- Marcado como Resposta Edi Carlos_MA sábado, 1 de setembro de 2012 15:36
-
Jaimes, muito obrigado, deu certo.
Deus te abençõe e te guarde,
O código ficou assim, se alguém precisar.
"SELECT Distinct A.codProd, B.produto, SUM(A.qtd), B.estoque " & _ "FROM itemSacola A " & _ "INNER JOIN cad_produto B ON A.codProd = B.codProd " & _ "GROUP BY A.codProd, B.produto, B.estoque " & _ "ORDER BY SUM(A.qtd) DESC" _
até mais abraço
-