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

Resposta a questão

Confesso que estou quebrando a cabeça em alguns, mas deu certo

SELECT X.CPF, X.NOME, X.ANO, X.MES, X.QUANTIDADE_COMPRA, X.QUANTIDADE, X.QUANTIDADE_TOTAL, CASE
WHEN X.QUANTIDADE_TOTAL > X.QUANTIDADE THEN 'VALIDO'
ELSE 'INVALIDO'
END AS VALIDO, case 
when X.QUANTIDADE_TOTAL < X.QUANTIDADE then 
CONCAT(FLOOR((1 - (X.QUANTIDADE_TOTAL/X.QUANTIDADE)) * 100), '% E O VALOR FOI ', Abs(x.quantidade_total - x.quantidade))
else 0 
end as ultrapassou
 FROM (
select nf.cpf, tc.nome, year(data_venda) as ano, month(data_venda) as mes, count(*) as quantidade_compra
, sum(quantidade) as quantidade, max(tc.volume_de_compra) as quantidade_total
from notas_fiscais nf
inner join itens_notas_fiscais inf
on nf.NUMERO = inf.numero
inner join tabela_de_clientes tc
on tc.cpf = nf.cpf
group by nf.cpf, mes, ano, tc.nome) X
ORDER BY X.QUANTIDADE DESC
2 respostas
solução!

Pedro,

Muito bom, mas...

..."quebrar a cabeça" é a parte divertida... KKKKK!!!

E depois de montar, tem que montar uma ainda melhor para que tenha mais performance de consulta da query. Muito 10!

[]'s,

Fabio I.

Isso ai Fábio, é legal que quando você quebra a cabeça vai entrando mais fácil também haha, valeu !!!

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