Exisite alguma desvantagem no meu código se comparado ao do exercicío?
SELECT AUX.NOME, AUX.CPF, AUX.ANO_MES, AUX.QUANTIDADE_MES, AUX.COMPRA_MAXIMA_MES
, CASE
WHEN AUX.QUANTIDADE_MES > AUX.COMPRA_MAXIMA_MES THEN 'COMPRA INVÁLIDA'
WHEN AUX.QUANTIDADE_MES < AUX.COMPRA_MAXIMA_MES THEN 'COMPRA VÁLIDA'
END AS STATUS_CLIENTE
FROM
(SELECT
TC.NOME
,TC.CPF
,SUBSTRING(CONVERT(VARCHAR,NF.DATA),1,7) AS ANO_MES
,SUM(INF.QUANTIDADE) AS QUANTIDADE_MES
,TC.[VOLUME DE COMPRA] AS COMPRA_MAXIMA_MES
FROM [TABELA DE CLIENTES] TC
INNER JOIN [NOTAS FISCAIS] NF ON NF.CPF = TC.CPF
INNER JOIN [ITENS NOTAS FISCAIS] INF ON INF.NUMERO = NF.NUMERO
GROUP BY
TC.NOME
, TC.CPF
,SUBSTRING(CONVERT(VARCHAR,NF.DATA),1,7)
,TC.[VOLUME DE COMPRA]) AS AUX
ORDER BY AUX.NOME, AUX.ANO_MES