Boa noite!
Eu realizei a solucao do ultimo exercicio da seguinte maneira:
SELECT C.NOME, TO_CHAR(NF.DATA_VENDA, 'YYYY-MM') AS MES_ANO, SUM(INF.QUANTIDADE) AS VOLUME_DE_COMPRA, C.VOLUME_DE_COMPRA AS VOLUME_LIMITE,
CASE WHEN SUM(INF.QUANTIDADE) > C.VOLUME_DE_COMPRA THEN 'Compra Invalida'
ELSE 'Compra Valida'
END AS RESULTADO
FROM NOTAS_FISCAIS NF
INNER JOIN ITENS_NOTAS_FISCAIS INF ON NF.NUMERO = INF.NUMERO
INNER JOIN TABELA_DE_CLIENTES C ON NF.CPF = C.CPF
GROUP BY C.NOME, TO_CHAR(NF.DATA_VENDA, 'YYYY-MM'), C.VOLUME_DE_COMPRA
ORDER BY C.NOME, MES_ANO;
Entretanto, para fazer alguns testes, gostaria de filtrar o resultado para apenas registros cujo field RESULTADO fosse igual a 'Compra Invalida'. Tentei utilizar a clausula WHERE de todas as formas e ainda tentei utilizar o HAVING, mas mesmo assim nao consegui obter o resultado esperado.
Como eu consigo filtrar apenas os resultados cujo field RESULTADO = 'Compra Invalida' ?
Att. Lucas Delfino.