none
Select Distinct RRS feed

  • 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
    quinta-feira, 30 de agosto de 2012 19:45

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
    sexta-feira, 31 de agosto de 2012 12:44

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

    sexta-feira, 31 de agosto de 2012 12:03
  • 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. 

    sexta-feira, 31 de agosto de 2012 12:18
  • 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
    sexta-feira, 31 de agosto de 2012 12:44
  • 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

    sexta-feira, 31 de agosto de 2012 13:19
  • Legal Edi.

    Só não esqueça de marcar como resposta para facilitar em buscas futuras de usuários que tenham o mesmo problema.

    Att.,

    Jeimes Ribeiro

    sexta-feira, 31 de agosto de 2012 13:48