Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Resolução da atividade

SELECT TC.CPF, TC.NOME, TC.VOLUME_DE_COMPRA, TV.MES_ANO, TV.QUANTIDADE_TOTAL,
    (CASE WHEN TC.VOLUME_DE_COMPRA >= TV.QUANTIDADE_TOTAL
        THEN 'VENDAS VÁLIDAS'
        ELSE 'VENDAS INVÁLIDAS'
        END) AS RESULTADO, ROUND((1-(TC.VOLUME_DE_COMPRA/TV.QUANTIDADE_TOTAL))*100,2) AS VALOR
    FROM TABELA_DE_CLIENTES TC
    INNER JOIN (
            SELECT NF.CPF, TO_CHAR(NF.DATA_VENDA, 'MM-YYYY') AS MES_ANO, SUM(INF.QUANTIDADE) AS QUANTIDADE_TOTAL
            FROM NOTAS_FISCAIS NF
            INNER JOIN ITENS_NOTAS_FISCAIS INF
            ON NF.NUMERO = INF.NUMERO
            GROUP BY CPF, TO_CHAR(NF.DATA_VENDA, 'MM-YYYY')) TV
    ON TV.CPF = TC.CPF
    WHERE TV.MES_ANO = '02-2015'
    AND (TC.VOLUME_DE_COMPRA - TV.QUANTIDADE_TOTAL) < 0;
2 respostas

Oi, Rafael! Tudo certo por aí?

Peço desculpas pela demora em retornar.

Parabéns pelo desenvolvimento da consulta, ela está correta e bem organizada! Por meio desse exercício, você pôde colocar em prática vários conhecimentos já adquiridos, sobretudo os relacionados às junções, que ficaram bastante evidentes neste SELECT.

Continue estudando e evoluindo, estarei aqui em caso de dúvidas.

Abraços!

solução!

Obrigado.

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