1
resposta

Forma alternativa de como foi apresentado no vídeo

Traz o mesmo resultado, mas não utilizei um inner join para subconsulta e o código ficou mais visível

SELECT 
    TP.SABOR,
    MAX(YEAR(NF.DATA_VENDA)) AS ANO,
    SUM(INF.QUANTIDADE) AS QUANTIDADE_TOTAL,
    ROUND((SUM(INF.QUANTIDADE) / (SELECT SUM(INF2.QUANTIDADE) 
                                  FROM notas_fiscais NF2
                                  INNER JOIN itens_notas_fiscais INF2 ON NF2.NUMERO =  INF2.NUMERO
                                  WHERE YEAR(NF2.DATA_VENDA) = 2016))*100, 2) as PERCENTUAL
FROM 
    notas_fiscais as NF
INNER JOIN
    itens_notas_fiscais as INF ON NF.NUMERO =  INF.NUMERO
INNER JOIN
    tabela_de_produtos as TP ON INF.CODIGO_DO_PRODUTO = TP.CODIGO_DO_PRODUTO
WHERE 
    YEAR(NF.DATA_VENDA) = 2016
GROUP BY 
    TP.SABOR
ORDER BY
    QUANTIDADE_TOTAL DESC 
1 resposta

Oi, Joabe!

A sua consulta está correta e bem estruturada, parabéns! O importante é que o resultado final esteja correto e que você consiga entender o que está fazendo. Existem muitas formas de chegar ao mesmo resultado com todas as ferramentas que a linguagem nos oferece. Fico feliz em saber que você está tendo essa autonomia.

Continue se dedicando, Joabe!

Abração.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!