1
resposta

Minha resolução

SELECT VS.TAMANHO, VS.ANO, VS.VENDA_ANO, ROUND((CONVERT(FLOAT, VS.VENDA_ANO) / CONVERT(FLOAT, VA.VENDA_TOTAL_ANO)) * 100, 2) AS PERCENTUAL
FROM (
    SELECT TP.TAMANHO, YEAR(NF.DATA_VENDA) AS ANO, SUM(INF.QUANTIDADE) AS VENDA_ANO
    FROM TABELA_DE_PRODUTOS TP
    INNER JOIN ITENS_NOTAS_FISCAIS INF
    ON TP.CODIGO_DO_PRODUTO = INF.CODIGO_DO_PRODUTO
    INNER JOIN NOTAS_FISCAIS NF
    ON INF.NUMERO = NF.NUMERO
    WHERE YEAR(NF.DATA_VENDA) = 2015
    GROUP BY TP.TAMANHO, YEAR(NF.DATA_VENDA)
) VS
INNER JOIN (
    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)
) VA
ON VS.ANO = VA.ANO
ORDER BY VS.VENDA_ANO DESC;

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi, Ycaro! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Sua consulta SQL está muito bem estruturada, usando subconsultas para calcular o total anual e depois calculando o percentual de vendas por tamanho. Notei que você fez uso correto de CONVERT e ROUND para garantir precisão no resultado. Continue assim!

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!