1
resposta

[Projeto] Exercício

SELECT X.NOME, X.MES, X.ANO, 
CASE
    WHEN X.QUANTIDADE_LIMITE - X.QUANTIDADE_VENDAS < 0 THEN 'INVÁLIDA'
    ELSE 'VÁLIDA'
END AS VENDA_NO_MES,
ABS(VALIDEZ) AS QUANTIDADE_INVÁLIDA, 
CONCAT(ROUND(ABS(VALIDEZ/QUANTIDADE_LIMITE*100),2), '%') AS PORCENTAGEM_ESTRAPOLADA
FROM
(SELECT TC.CPF, TC.NOME, MONTH(NF.DATA_VENDA) AS MES, YEAR(NF.DATA_VENDA) AS ANO, 
SUM(INF.QUANTIDADE) AS QUANTIDADE_VENDAS, MAX(TC.VOLUME_DE_COMPRA) AS QUANTIDADE_LIMITE,
(TC.VOLUME_DE_COMPRA - SUM(INF.QUANTIDADE)) AS VALIDEZ FROM 
NOTAS_FISCAIS NF INNER JOIN ITENS_NOTAS_FISCAIS INF
ON NF.NUMERO = INF.NUMERO
INNER JOIN TABELA_DE_CLIENTES TC
ON TC.CPF = NF.CPF
GROUP BY CPF, YEAR(NF.DATA_VENDA), MONTH(NF.DATA_VENDA)) X
WHERE VALIDEZ < 0;
1 resposta

Olá, João, tudo bem?

Mandou muito bem resolvendo o desafio proposto.

Continue assim e bons estudos!