Lameira Postado Maio 5, 2009 Denunciar Share Postado Maio 5, 2009 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.desprofrom compra,itemcom,produtowhere compra.codcom = itemcom.coditemcom and compra.datacom between '2009-01-01' and '2009-12-31' and itemcom.coditemcom = produto.codprogroup 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' Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Maio 5, 2009 Denunciar Share Postado Maio 5, 2009 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Lameira Postado Maio 6, 2009 Autor Denunciar Share Postado Maio 6, 2009 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=42703SQL0206N "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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Lameira
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
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.