SELECT CONSULTA_RELATORIO.TAMANHO, CONSULTA_RELATORIO.ANO, CONSULTA_RELATORIO.QUANTIDADE_TOTAL, CONSULTA_RELATORIO.QUANTIDADE_GERAL,
ROUND((CONSULTA_RELATORIO.QUANTIDADE_TOTAL/CONSULTA_RELATORIO.QUANTIDADE_GERAL)*100,2) AS PERCENTUAL_PARTICIPACAO
FROM
(SELECT TP.TAMANHO, EXTRACT(YEAR FROM NF.DATA_VENDA) AS ANO, SUM(INF.QUANTIDADE) AS QUANTIDADE_TOTAL,
(
SELECT TOTAL_ANO.QUANTIDADE_GERAL FROM
(SELECT EXTRACT(YEAR FROM NF.DATA_VENDA) AS ANO, SUM(INF.QUANTIDADE) AS QUANTIDADE_GERAL
FROM NOTAS_FISCAIS NF
INNER JOIN ITENS_NOTAS_FISCAIS INF
ON NF.NUMERO = INF.NUMERO
WHERE EXTRACT(YEAR FROM NF.DATA_VENDA) = 2016
GROUP BY EXTRACT(YEAR FROM NF.DATA_VENDA)) TOTAL_ANO
) AS QUANTIDADE_GERAL
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 EXTRACT(YEAR FROM NF.DATA_VENDA) = 2016
GROUP BY TP.TAMANHO, EXTRACT(YEAR FROM NF.DATA_VENDA)
ORDER BY SUM(INF.QUANTIDADE) DESC) CONSULTA_RELATORIO