Script usando o recurso de windows functions
SELECT
r1.sabor,
ano,
faturamento,
convert ( varchar, convert ( decimal ( 6, 4 ), ( faturamento / sum( faturamento ) over ( ) ) * 100 )) + '%'
FROM
(
SELECT
tp.SABOR,
2016 AS ano,
convert ( decimal ( 15, 2 ), sum( r1.total ) ) AS faturamento
FROM
(
SELECT
inf.[CODIGO DO PRODUTO],
sum( inf.QUANTIDADE * inf.[PREÇO] ) AS TOTAL
FROM
[ITENS NOTAS FISCAIS] AS inf
WHERE
inf.NUMERO IN ( SELECT NUMERO FROM [NOTAS FISCAIS] WHERE datepart ( year, data ) = 2016 )
GROUP BY
[CODIGO DO PRODUTO]
) r1
INNER JOIN [TABELA DE PRODUTOS] AS tp ON r1.[CODIGO DO PRODUTO]= tp.[CODIGO DO PRODUTO]
GROUP BY
tp.SABOR
) AS r1
GROUP BY
r1.SABOR,
r1.ano,
r1.faturamento