1
resposta

Resolução: Modifique a consulta do relatório

SELECT AUX2.NOME, AUX2.ANO_MES, AUX2.QUANTIDADE_MES, AUX2.[VOLUME DE COMPRA], AUX2.STATUS_VENDA, AUX2.NOVA_COLUNA FROM 
(SELECT AUX1.NOME, AUX1.ANO_MES, AUX1.QUANTIDADE_MES, AUX1.[VOLUME DE COMPRA],
ROUND(( (AUX1.QUANTIDADE_MES/AUX1.[VOLUME DE COMPRA]) - 1) * 100,2) AS NOVA_COLUNA,
CASE WHEN AUX1.QUANTIDADE_MES <= AUX1.[VOLUME DE COMPRA] THEN 'VENDA VÁLIDA'
WHEN AUX1.QUANTIDADE_MES > AUX1.[VOLUME DE COMPRA] THEN 'VENDA INVÁLIDA'
END AS STATUS_VENDA
FROM 
(SELECT TC.NOME, CQ.ANO_MES, CQ.QUANTIDADE_MES, TC.[VOLUME DE COMPRA]
FROM
(SELECT NF.CPF, SUBSTRING(CONVERT(VARCHAR, NF.[DATA], 120),1,7) AS ANO_MES
, SUM(INF.QUANTIDADE) AS QUANTIDADE_MES  FROM [NOTAS FISCAIS] NF
INNER JOIN [ITENS NOTAS FISCAIS] INF
ON NF.NUMERO = INF.NUMERO 
GROUP BY NF.CPF, SUBSTRING(CONVERT(VARCHAR, NF.[DATA], 120),1,7)) CQ
INNER JOIN [TABELA DE CLIENTES] TC ON TC.CPF = CQ.CPF) AUX1
WHERE AUX1.QUANTIDADE_MES > AUX1.[VOLUME DE COMPRA]) AUX2
ORDER BY AUX2.NOME, AUX2.ANO_MES
1 resposta

Olá, Carlos, tudo bem?

A sua query ficou muito legal, você está indo muito bem.

Continue assim e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software