ОСВ одним запросом (Access2000)

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Mao
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 95
Зарегистрирован: 10.10.2004 (Вс) 13:09

ОСВ одним запросом (Access2000)

Сообщение Mao » 11.05.2005 (Ср) 12:05

Есть запрос в результате которого выводятся след. данные:

26.04.05 +125600р(Кредит) -120000р(Дебит)
29.04.05 +130000р -110000р.
и т.д.

А мне нужно чтоб добавились поля, сальдо на начало и сальдо на конец
СальдоНач. для первой записи должно = 0, а для второй и последующих СальдоНач = СальдоКон. из предыдущей строки результата запроса. ну а сальдо конеч. = СальдоНач. + Кредит + Дебит.
Сам запрос выглядит след. образом(упрощенный вариант)
Код: Выделить всё
SELECT T1.Date, T1.Credit, T1.Debit FROM CashFlow AS T1.
Каким образом такое можно осуществить?

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 14.05.2005 (Сб) 0:20

Создай таблицу со структурой:
DAT, OST, OBD, OBK
DAT - дата,
OST - остаток на начало дня,
OBD - обороты по дебету,
OBK - обороты по кредиту.

Тогда ты легко найдешь интересующие тебя данные:
Код: Выделить всё

Select DAT, OST AS SALDO_N, OBD, OBK, OST-OBD+OBD AS SALDO_K FROM T1


А с такой структурой как у тебя одним запросом не обойтись. Тебе проще будет перегнать данные в новую таблицу и в дальнейшем работать уже с ней.

Mao
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 95
Зарегистрирован: 10.10.2004 (Вс) 13:09

Сообщение Mao » 14.05.2005 (Сб) 9:41

При такой организации структуры быстродействие системы очень ухудшится, что не есть гуд.

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 14.05.2005 (Сб) 10:55

Отчего же это ухудшится быстродействие?
Такая структура зачастую используется в банковской сфере для хранения остатков и оборотов по счетам за каждый операционный день (присутствует еще поле SC - счет). Счетов может быть сотни тысяч (соответственно за большой период записей в таблице - десятки миллионов) и при наличии индексов быстродействие от этого не страдает. Базы там, естественно, не в Access.


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList