1
resposta

Resolução - A consulta do relatório

SELECT Z.CPF, Z.NOME, Z.MES_ANO, Z.QUANTIDADE_VENDAS, Z.QUANTIDADE_LIMITE,
ROUND((1 - (Z.QUANTIDADE_LIMITE/Z.QUANTIDADE_VENDAS)) * 100) AS PERCENTUAL,
Z.STATUS_VENDAS
FROM
(SELECT X.CPF, X.NOME, X.MES_ANO, X.QUANTIDADE_VENDAS, X.QUANTIDADE_LIMITE,
CASE WHEN
    X.QUANTIDADE_LIMITE - X.QUANTIDADE_VENDAS >= 0 THEN 'VÁLIDA'
ELSE
    'INVÁLIDA'
END AS STATUS_VENDAS
FROM
(SELECT NF.CPF, TC.NOME, DATE_FORMAT(NF.DATA_VENDA, '%Y-%m') AS MES_ANO,
SUM(INF.QUANTIDADE) AS QUANTIDADE_VENDAS,
MAX(TC.VOLUME_DE_COMPRA) AS QUANTIDADE_LIMITE 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 NF.CPF, TC.NOME, DATE_FORMAT(NF.DATA_VENDA, '%Y-%m')) X) Z
WHERE Z.STATUS_VENDAS = 'INVÁLIDA'
1 resposta

Olá, Hugo, tudo bem?

Fico feliz em ver que realizou a atividade, é isso aí! Continue se dedicando aos estudos e colocando em prática seus aprendizados.

Caso queira praticar ainda mais SQL, recomendo a formação Praticando SQL, nela, você encontrará exercícios práticos da linguagem SQL.

Fico à disposição em casos de dúvidas!

Abraços e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!