SELECT
TC.CPF,TC.NOME,
ROUND(SUM(1-(TC.VOLUME_DE_COMPRA/TV.QUANT_TOTAL))*100,2)AS DIFERENCA_COMPRA,
TC.VOLUME_DE_COMPRA,TV.MES_ANO,TV.QUANT_TOTAL,
CASE WHEN TC.VOLUME_DE_COMPRA >= TV.QUANT_TOTAL THEN 'VENDAS_VALIDAS'
ELSE 'VENDAS_INVALIDAS' END AS LIMITE_COMPRAS
FROM TABELA_DE_CLIENTES TC
INNER JOIN
(
SELECT
NF.CPF,CONVERT(VARCHAR(07),(NF.DATA_VENDA),120)AS MES_ANO,
SUM(INF.QUANTIDADE) AS QUANT_TOTAL
FROM NOTAS_FISCAIS NF
INNER JOIN ITENS_NOTAS_FISCAIS INF ON NF.NUMERO = INF.NUMERO
GROUP BY
NF.CPF,CONVERT(VARCHAR(07),(NF.DATA_VENDA),120)
)TV
ON TV.CPF = TC.CPF
WHERE
TV.MES_ANO = '2015-01'
AND TC.VOLUME_DE_COMPRA < TV.QUANT_TOTAL
GROUP BY
TC.CPF,TC.NOME,TC.VOLUME_DE_COMPRA,TV.MES_ANO,TV.QUANT_TOTAL,CASE WHEN TC.VOLUME_DE_COMPRA >= TV.QUANT_TOTAL THEN 'VENDAS_VALIDAS'
ELSE 'VENDAS_INVALIDAS' END