1
resposta

Resolução

WITH TBL1 AS (
    SELECT
        TB.SABOR,
        YEAR(NF.DATA_VENDA) AS ANO,
        SUM(INF.QUANTIDADE) AS VENDA_ANO
    FROM
        TABELA_DE_PRODUTOS TB
    INNER JOIN
        ITENS_NOTAS_FISCAIS INF ON TB.CODIGO_DO_PRODUTO = INF.CODIGO_DO_PRODUTO
    INNER JOIN
        NOTAS_FISCAIS NF ON NF.NUMERO = INF.NUMERO
    WHERE
        YEAR(NF.DATA_VENDA) = 2015
    GROUP BY
        TB.SABOR, YEAR(NF.DATA_VENDA)
),

TBL2 AS (
    SELECT
        YEAR(NF.DATA_VENDA) AS ANO,
        SUM(INF.QUANTIDADE) AS VENDA_TOTAL_ANO
    FROM
        NOTAS_FISCAIS NF
    INNER JOIN
        ITENS_NOTAS_FISCAIS INF ON NF.NUMERO = INF.NUMERO
    WHERE
        YEAR(NF.DATA_VENDA) = 2015
    GROUP BY
        YEAR(NF.DATA_VENDA)
)

SELECT
    TBL1.*,
   -- TBL2.VENDA_TOTAL_ANO,
    ROUND((TBL1.VENDA_ANO * 100.0) / NULLIF(TBL2.VENDA_TOTAL_ANO, 0), 2) AS PERCENTUAL
FROM
    TBL1
INNER JOIN
    TBL2 ON TBL1.ANO = TBL2.ANO
ORDER BY
    PERCENTUAL DESC;
1 resposta

Oi Mayron, tudo bem?

Analisei e testei sua query e ela está certinha, parabéns!

Continue com essa dedicação, realizando as atividades propostas que você vai longe!

Qualquer dúvida, é só compartilhar no fórum.

Abraços e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software