Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

DESAFIO INNER JOIN

Boa noite!

Gostaria apenas de validar se o comando que executei esta correto por favor?

Na consulta o esperado é que traga, o 'código do produto', 'nome do produto', 'sabor' e o top 10 dos produtos mais vendidos.

O comando executado abaixo esta correto ?

SELECT TOP 10 INF. CODIGO_DO_PRODUTO, TP.NOME_DO_PRODUTO, TP.SABOR, SUM (INF.QUANTIDADE) AS QUANTIDADE FROM ITENS_NOTAS_FISCAIS INF INNER JOIN TABELA_DE_PRODUTOS tp ON INF.CODIGO_DO_PRODUTO = TP.CODIGO_DO_PRODUTO GROUP BY INF.CODIGO_DO_PRODUTO, TP.NOME_DO_PRODUTO, TP.SABOR, INF.QUANTIDADE ORDER BY SUM(INF.QUANTIDADE) DESC;

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

E outra dúvida seria, se eu quisesse listar com o filtro "WHERE" o top 10 dos produtos mais vendidos de 2018, como poderia inserir ?

Obrigada!!

1 resposta
solução!

Boa noite, sim, seu SELECT estava retornando as informações corretas. Fiz uma leve alteração para que possa retornar apenas os itens vendidos no ano de 2018, segue SELECT abaixo e print.

SELECT TOP 10 INF.CODIGO_DO_PRODUTO, TP.NOME_DO_PRODUTO, TP.SABOR, SUM (INF.QUANTIDADE) AS QUANTIDADE FROM ITENS_NOTAS_FISCAIS INF INNER JOIN TABELA_DE_PRODUTOS TP ON INF.CODIGO_DO_PRODUTO = TP.CODIGO_DO_PRODUTO INNER JOIN NOTAS_FISCAIS NF ON INF.NUMERO = NF.NUMERO WHERE YEAR(DATA_VENDA) = '2018' GROUP BY INF.CODIGO_DO_PRODUTO, TP.NOME_DO_PRODUTO, TP.SABOR, INF.QUANTIDADE ORDER BY QUANTIDADE DESC;

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Como pode ver, fiz mais 1 INNER JOIN, vinculando a tabela de NOTAS_FISCAIS onde temos o registro da data de venda. No comando WHERE acrescentei o comando YEAR que funciona para filtrar apenas o ano, desde que a coluna esteja configurada como DATE na criação da tabela. Podemos ver no print abaixo o último campo que acrescentei trazendo o ano de venda, e foi retornado apenas itens de 2018.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Abraço e boa semana, espero ter ajudado.