|
MySQL.RU - Webboard
Вернуться
Накопительная сумма (Серж) 21/10/2014 - 05:58:41
Re: Накопительная сумма (Серж) 21/10/2014 - 06:10:55
Re: Накопительная сумма (Akina) 21/10/2014 - 09:09:19
From: Серж - 21/10/2014 - 05:58:41
Subject:Накопительная сумма
-----------------
Есть таблица вида:
create table Invest(
Id integer not null auto_increment,
Investor integer not null default 0,
Data Date not null,
Delta Dec(11, 2) not null,
primary key(Id));
Требуется запрос, возвращающий суммы по полю Delta, накопленные Investor за период времени от начала до заданной даты. При этом отрицательные Delta должны учитываться только на следующий день.
Пытался делать так:
select A.Data, B.Investor, sum(C.Delta)
from Invest A
left join Invest B on true
left join Invest C on C.Investor = B.Investor and(C.Data < A.Data or(C.Data = A.Data and C.Delta > 0))
group by A.Data, B.Investor;
Столбцы Data и Investor получаются правильно. В столбце Delta значения NULL расположены верно, а вот сами суммы как минимум удвоены :((
Где я ошибаюсь?
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
43254
|
|