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

Não entendi a necessidade do uso de SUBQUERIES

Não entendi o motivo de fazer o uso de subconsulta, não poderíamos criar uma nova coluna com o CASE diretamente, conforme código abaixo?

/* COMPARAÇÃO QUANTIDADE DE VENDAS E LIMITE POR CLIENTE */
SELECT NF.CPF
, CLI.NOME
, DATE_FORMAT(NF.DATA_VENDA, '%Y-%m') AS MES_ANO
, SUM(INF.QUANTIDADE) AS QUANTIDADE_MENSAL
, CLI.VOLUME_DE_COMPRA AS QUANTIDADE_LIMITE
, CASE WHEN (SUM(INF.QUANTIDADE) - CLI.VOLUME_DE_COMPRA) > 0 THEN 'INVÁLIDA'
    ELSE 'VÁLIDA'
    END AS STATUS_VENDA
FROM itens_notas_fiscais INF INNER JOIN notas_fiscais NF
ON INF.NUMERO = NF.NUMERO
INNER JOIN tabela_de_clientes CLI
ON NF.CPF = CLI.CPF
GROUP BY MES_ANO,  NF.CPF, CLI.NOME, QUANTIDADE_LIMITE;
2 respostas
solução!

Olá Julia, tudo bem?

Podemos ter variais formas de chegar a um mesmo resultado Julia, e neste caso o instrutor optou por utilizar subconsultas para chegar ao resultado desejado, outro ponto é que neste momento da formação, ainda não foi abordado sobre CASE, então ele utilizou subconsultas, pois já via explicado como funcionava.

É explicado como funciona a ferramenta CASE, no quarto curso da formação de MySQL, o Curso de Procedures SQL: Executando código no MySQL, na aula 04 Controle de Fluxo.

Parabéns pela query Julia!

Continue assim e bons estudos!

Obrigada novamente Danielle!! Perguntei mais para saber se existe alguma diferença hehe Muito muito obrigada novamente

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