Fiquei em dúvida nessa, meu resultado está diferente da resposta
SELECT CADASTRO.CPF, CADASTRO.NOME, VENDAS.MES_ANO, CADASTRO.VOLUME_DE_COMPRA,
VENDAS.VOLUME_VENDIDO,
CASE
WHEN VENDAS.VOLUME_VENDIDO > CADASTRO.VOLUME_DE_COMPRA THEN 'Vendas inválidas'
ELSE 'Vendas válidas'
END AS RESULTADO,
(1 - (CADASTRO.VOLUME_DE_COMPRA/VENDAS.VOLUME_VENDIDO )) * 100 AS PERCENTUAL
FROM
(SELECT NF.CPF, TO_CHAR(NF.DATA_VENDA,'YYYY-MM') AS MES_ANO,
SUM(INF.QUANTIDADE) AS VOLUME_VENDIDO FROM NOTAS_FISCAIS NF
INNER JOIN ITENS_NOTAS_FISCAIS INF ON INF.NUMERO = NF.NUMERO
GROUP BY NF.CPF,TO_CHAR(NF.DATA_VENDA,'YYYY-MM')) VENDAS
INNER JOIN
(SELECT CPF, NOME, VOLUME_DE_COMPRA FROM TABELA_DE_CLIENTES) CADASTRO
ON CADASTRO.CPF = VENDAS.CPF
WHERE (CADASTRO.VOLUME_DE_COMPRA - VENDAS.VOLUME_VENDIDO < 0);
Fui seguindo o que fiz junto com professor, e depois acrescentei as novas especificações. está correto?