1
resposta

Desafio: vendas percentuais por tamanho

Adicionei na primeira consulta o TP.TAMANHO e em seguida chamei ele na consulta principal, por fim adicionei ele no group by, notei que tem valor em 1 litro, 1.5 litro e ml não consegui ajustar isso por enquanto.

SELECT VS.SABOR,
    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.SABOR, 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.SABOR, YEAR(NF.DATA_VENDA), TP.TAMANHO
) 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.TAMANHO --DESC;
--ORDER BY VS.VENDA_ANO DESC;
1 resposta

Opa, Leonardo!

Mandou muito bem na sua solução do desafio. Adicionar o sabor no agrupamento torna o resultado muito mais detalhado.

Em relação aos diferentes tamanhos, considere o uso de funções condicionais como o case when para tratar cada tipo de tamanho individualmente, caso seja o que está buscando!

Continue se dedicando, Leonardo.

Abraços.