create table vendas ( idComissao int auto_increment not null, idPedido int , Parcelas int, Parcela decimal(5,2), ValorParcela decimal(5,2), Vencimento01 date, Vencimento02 date, Vencimento03 date, primary key (idComissao) );
insert into vendas (idPedido,Parcelas,Parcela,ValorParcela,Vencimento01,Vencimento02,Vencimento03) values
(2,3,100.34,‘2016-02-26’,‘2016-03-17’,‘2016-04-12’);
Gente não estou conseguindo obter a soma das datas de Vencimentos.
Imagina que você compra um produto e quer pagar em 3 vezes(Parcelas).
Preciso que soma o (valorParcela*Parcela), de datas especificas.
Por exemplo. Quero a soma de todas as parcelas que vencem de até tanto.
O problema é que, a coluna Parcelas deternina o valor total da soma.
Pode ter compra com uma parcela ou três ou duas.
Será algo assim (podes substituir o CURDATE() pela data pretendida):
SELECT case when vencimento01 <= CURDATE() then ValorParcela else 0 end + case when vencimento02 <= CURDATE() then ValorParcela else 0 end + case when vencimento03 <= CURDATE() then ValorParcela else 0 end
from vendas;
Agora deixo estas questões:
O número de parcelas é sempre 3 no máximo?
O valor de todas as parcelas é sempre exatamente igual?
Assim? (Substituindo DATE1 e DATE 2 pelo teu intervalo de datas pretendido)
SELECT case when vencimento01 between DATE1 and DATE2 then ValorParcela else 0 end + case when vencimento02 between DATE1 and DATE2 then ValorParcela else 0 end + case when vencimento03 between DATE1 and DATE2 then ValorParcela else 0 end
from vendas;