1
resposta

SOLUÇÃO DIFERENTE

SELECT
TC.CPF,
TC.NOME,
TC.VOLUME_DE_COMPRA,
TV.QUANTIDADE_TOTAL,
TV.[ANO-MES],
(CASE WHEN TC.VOLUME_DE_COMPRA >= TV.QUANTIDADE_TOTAL THEN 'Vendas válidas'
ELSE  'Vendas inválidas' END) AS RESULTADOS,
FORMAT(ABS(TC.VOLUME_DE_COMPRA - TV.QUANTIDADE_TOTAL),'C','pt-br') AS DIFERENCA_EM_REAIS,
CONCAT(ROUND((1 - (VOLUME_DE_COMPRA/QUANTIDADE_TOTAL)) * 100,2),'%') AS DIFERENCA_EM_PORCENTAGEM
FROM
TABELA_DE_CLIENTES TC
INNER JOIN (
SELECT 
    NF.CPF, 
    CONVERT(VARCHAR(7),NF.DATA_VENDA,120) AS [ANO-MES],
    SUM(INF.QUANTIDADE) AS QUANTIDADE_TOTAL
    FROM NOTAS_FISCAIS NF
    INNER JOIN ITENS_NOTAS_FISCAIS INF ON NF.NUMERO = INF.NUMERO
    GROUP BY 
    NF.CPF, 
    CONVERT(VARCHAR(7),	NF.DATA_VENDA,	120)
) TV
ON TV.CPF = TC.CPF
WHERE TV.[ANO-MES] = '2015-01' AND (TC.VOLUME_DE_COMPRA < TV.QUANTIDADE_TOTAL)
ORDER BY TC.NOME;
1 resposta

Olá Carlos, tudo bem com você?

Já te respondi em outras perguntas do fórum e é muito bacana acompanhar seu crescimento.

Continue praticando e conte com a Alura nesta jornada!

Abraços 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