SELECT X.CPF, X.NOME, X.MES_ANO, X.VOLUME_VENDIDO, X.VOLUME_LIMITE_DE_COMPRA,
ROUND((1 - (X.VOLUME_LIMITE_DE_COMPRA / X.VOLUME_VENDIDO)) * 100, 2) AS PERCENTUAL_DIFERENCA,
CASE
WHEN(X.VOLUME_LIMITE_DE_COMPRA - X.VOLUME_VENDIDO) < 0 THEN 'INVÁLIDA'
ELSE 'VÁLIDA' END AS STATUS_VENDA
FROM
(SELECT NF.CPF, TC.NOME, DATE_FORMAT(NF.DATA_VENDA, '%Y-%m') AS MES_ANO,
SUM(INF.QUANTIDADE) AS VOLUME_VENDIDO,
MAX(TC.VOLUME_DE_COMPRA) AS VOLUME_LIMITE_DE_COMPRA FROM notas_fiscais NF
INNER JOIN itens_notas_fiscais INF ON NF.NUMERO = INF.NUMERO
INNER JOIN tabela_de_clientes TC ON TC.CPF = NF.CPF
GROUP BY NF.CPF, TC.NOME, DATE_FORMAT(NF.DATA_VENDA, '%Y-%m')) X
WHERE (X.VOLUME_LIMITE_DE_COMPRA - X.VOLUME_VENDIDO) < 0;