Подсчет задолженности на каждый день
Rose_Tree
Дата: 14.09.2006 15:42:35
Добрый день.
Мне надо подсчитать задолженность на каждый день. Т.е. пользователь вводит период, н-р, 01.03.06 по 04.03.06 Результат должен быть таким:
01.03.06 17400
02.03.06 52100
03.03.06 1000
04.03.06 11583
Все данные храняться в одной таблице со структурой дата, сумма, вид операции. Вид операции определяет приход это или расход.
Задолженность подсчитывается как сумма всех приходов и расходов по число т.е. если подсчитать баланс на 01.03.06 то это выглядит так
SELECT Sum(сумма) FROM TBLOPER WHERE Дата <=01.03.06
А как одним запросом выдать полный результат я просто не представляю.
Помогите пожайлуста....
pavel73
Дата: 14.09.2006 15:48:08
select data_ , sum(prihod)-sum(rashod) from tabl where data_ between '01.03.06' and '04.03.06' group by data_
Rose_Tree
Дата: 14.09.2006 15:53:53
Нет, таким образом он будет выдавать разницу между приходом и расходом за день. А мне надо чтоб он выдавал эту разницу по эту дату.
Допустим если считать что 01/03/06 (если считать эту дату началом всех начал) задолженность составляла 13 000, а 02/03/06 было приходов на 10 000, а расходов на 7 000 то залодженность на 02/03/06 будет составлять 16 000
Glory
Дата: 14.09.2006 15:59:27
SELECT *, (SELECT Sum(сумма) FROM TBLOPER b WHERE b.Дата <= a.Дата) FROM TBLOPER a
Rose_Tree
Дата: 14.09.2006 16:17:21
Большое спасибо Glory !!!! Помогло!!!!!!
AAron
Дата: 15.09.2006 00:39:58
нарастающий итог нужен...
либо как Glory предложил, либо с использованием CTE... тут недавно тема была об этом.
tacit
Дата: 15.09.2006 16:23:08
Для нарастающего итога удобно использовать встроенную функцию
RunningValue(Expression, Function, Scope)
tacit
Дата: 15.09.2006 16:25:19
tacit |
Для нарастающего итога удобно использовать встроенную функцию
RunningValue(Expression, Function, Scope) |
Пардон, господа, я перепутал - это относится к Reporting services!!!