SELECT AUX1.NOME, AUX1.ANO_MES, AUX1.[VOLUME DE COMPRA], AUX1.QUANTIDADE_MES,
CONVERT(DECIMAL(15,2), (1 - (AUX1.[VOLUME DE COMPRA]/AUX1.QUANTIDADE_MES)) * 100) AS VARIACAO,
CASE WHEN AUX1.QUANTIDADE_MES <= AUX1.[VOLUME DE COMPRA] THEN 'VENDA VALIDA'
WHEN AUX1.QUANTIDADE_MES > AUX1.[VOLUME DE COMPRA] THEN 'VENDA INVALIDA'
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(X.QUANTIDADE) AS QUANTIDADE_MES FROM [NOTAS FISCAIS] NF
INNER JOIN [ITENS NOTAS FISCAIS] X
ON NF.NUMERO = X.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]
ORDER BY AUX1.NOME, AUX1.ANO_MES
Utilizei o mesmo código do instrutor, mas retorna um erro, podem me auxiliar?