Ir para conteúdo
Fórum Script Brasil
  • 0

produto mais vendido no ano


Lameira

Pergunta

Preciso entregar uma questão em SQL no curso Pós-Técnico, mas não consigo encontrar o melhor caminho; a questão é a seguinte: Qual é o produto mais vendido no ano 2009?

Tenho 3 tabelas: Produto, Venda e ItemVenda, já tentei o seguinte:

select year(compra.datacom), itemcom.coditemcom, sum(itemcom.qntprocom), produto.despro

from compra,itemcom,produto

where compra.codcom = itemcom.coditemcom and compra.datacom

between '2009-01-01' and '2009-12-31' and itemcom.coditemcom = produto.codpro

group by compra.datacom,itemcom.coditemcom,produto.despro;

não está dando certo, me retorna 3 linhas com valores indevidos. Por favor me dê uma força!!!

obs: o comando deve funcionar no DB2, mas se houver um outro exemplo semelhante posso fazer as adaptações devidas, no momento eu preciso de um 'norte'

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Oi, 'Lameira'!

Vamos analisar um pouco.

Sua questão é achar Qual é o produto mais vendido no ano 2009?

Então, corrigindo seu select, temos:

SELECT year(c.datacom) AS ANO, p.codpro, sum(i.qntprocom) AS QTD_VENDIDO, p.despro
FROM  compra c 
INNER JOIN itemcom i ON i.coditemcom = c.codcom
INNER JOIN produto p ON p.codpro = i.coditemcom
WHERE compra.datacom between '2009-01-01' and '2009-12-31' 
GROUP BY i.coditemcom
ORDER BY QTD_VENDIDO desc;

O primeiro da lista será o mais vendido.

Link para o comentário
Compartilhar em outros sites

  • 0
Oi, 'Lameira'!

Vamos analisar um pouco.

Sua questão é achar Qual é o produto mais vendido no ano 2009?

Então, corrigindo seu select, temos:

SELECT year(c.datacom) AS ANO, p.codpro, sum(i.qntprocom) AS QTD_VENDIDO, p.despro
FROM  compra c 
INNER JOIN itemcom i ON i.coditemcom = c.codcom
INNER JOIN produto p ON p.codpro = i.coditemcom
WHERE compra.datacom between '2009-01-01' and '2009-12-31' 
GROUP BY i.coditemcom
ORDER BY QTD_VENDIDO desc;

O primeiro da lista será o mais vendido.

Testei o comando no DB2 e retornou o seguinte:

SQL0206N "COMPRA.DATACOM" não é válido no contexto em que foi utilizado.

SQLSTATE=42703

SQL0206N "COMPRA.DATACOM " não é válido no contexto em que foi utilizado.

verifiquei os dados do banco e a coluna datacom da tabela compra está lá com todos os valores. Ainda estou precisando desse comando. Grato

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...