1
resposta

RESPOSTA 6.2

a minha resposta ficou um pouco diferente ,mas o resultado foi o mesmo. Pelo que eu vi =3.

SELECT X.*, ROUND((1 - (X.QUANTIDADE_LIMITE/X.QUANTIDADE_COMPRADA)) * 100,1) AS PERCENTUAL
FROM (SELECT TC.NOME, TC.CPF, DATE_FORMAT(NF.DATA_VENDA,'%Y/%m') AS ANO_MES, 
    SUM(INF.QUANTIDADE) AS QUANTIDADE_COMPRADA , MAX(TC.VOLUME_DE_COMPRA) AS QUANTIDADE_LIMITE,
        CASE 
            WHEN SUM(INF.QUANTIDADE) - TC.VOLUME_DE_COMPRA >= 1 
            THEN 'INVÁLIDO' ELSE 'VÀLIDO' END AS STATUS_COMPRA
    FROM tabela_de_clientes TC INNER JOIN notas_fiscais NF 
    ON TC.CPF = NF.CPF INNER JOIN itens_notas_fiscais INF 
    ON NF.NUMERO = INF.NUMERO
    GROUP BY TC.NOME, DATE_FORMAT(NF.DATA_VENDA,'%Y/%m')) X
WHERE STATUS_COMPRA = 'INVÁLIDO';
1 resposta

Olá, Jhony, tudo bem?

A sua query ficou muito legal e funcionou direitinho, você está indo muito bem :).

Foi muito legal também você ter compartilhado a sua resposta da atividade aqui com a gente.

Continue assim e bons estudos!