select
tc.nome, tc.cpf, tc.volume_de_compra,
tv.mes_ano,tv.quantidade_total,ROUND((1-(TC.VOLUME_DE_COMPRA / tv.quantidade_total))*100,2) Perc_excedente,
(case when tc.volume_de_compra>tv.quantidade_total then 'Venda Válida' else 'Venda Inválida' end) STATUS_VENDA
from
tabela_de_clientes tc
inner join
(select nf.cpf, to_char(nf.data_venda, 'mm/yyyy') Mes_Ano,sum(inf.quantidade) quantidade_total
from notas_fiscais nf
inner join itens_notas_fiscais inf on inf.numero=nf.numero
group by nf.cpf,to_char(nf.data_venda, 'mm/yyyy')) tv
on tv.cpf=tc.cpf
WHERE (TC.VOLUME_DE_COMPRA - tv.quantidade_total) < 0;