SELECT
TDC.CPF,
TDC.NOME,
TDC.VOLUME_DE_COMPRA,
TV.MES_ANO,
TV.QUANTIDADE_TOTAL,
CASE WHEN TDC.VOLUME_DE_COMPRA >= TV.QUANTIDADE_TOTAL
THEN 'VENDAS VÁLIDAS' ELSE 'VENDAS INVÁLIDAS' END AS RESULTADO,
ROUND((1 - (TDC.VOLUME_DE_COMPRA/TV.QUANTIDADE_TOTAL)) * 100,2) || '%' AS DIFERENCA_VOL_COMPRAS
FROM
TABELA_DE_CLIENTES TDC
INNER JOIN
(SELECT
NF.CPF,
TO_CHAR(NF.DATA_VENDA,'MM-YYYY') AS MES_ANO,
SUM(INF.QUANTIDADE) AS QUANTIDADE_TOTAL
FROM NOTAS_FISCAIS NF
INNER JOIN
ITENS_NOTAS_FISCAIS INF
ON NF.NUMERO = INF.NUMERO
GROUP BY
NF.CPF, TO_CHAR(NF.DATA_VENDA,'MM-YYYY')) TV
ON TV.CPF = TDC.CPF
WHERE TV.MES_ANO = '02-2015'
AND (TDC.VOLUME_DE_COMPRA - TV.QUANTIDADE_TOTAL) < 0
ORDER BY TDC.NOME;