Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как получить суммы с накоплением в запросе. / 7 сообщений из 7, страница 1 из 1
15.10.2004, 11:44:53
    #32740040
Alexa12
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить суммы с накоплением в запросе.
Задача такая: Есть таблица, например (Дата,сумма). Необходимо получить данные по каждому дню, причем значение суммы для каждого дня равна сумме предыдущего дня + сумма за текущий день, т.е с нарастанием. Период дат для результатов задается в форме. Запускать запрос в цикле для обновления какой-нить вспомогательной таблицы долго работает. Как еще можно извернуться ?
...
Рейтинг: 0 / 0
15.10.2004, 11:55:30
    #32740081
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить суммы с накоплением в запросе.
по форуму поискать в голову неприходило? ;)
...
Рейтинг: 0 / 0
15.10.2004, 11:57:51
    #32740086
Alexa12
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить суммы с накоплением в запросе.
Приходило, только вот по времени ограничен. Результат великоват получился.:) Буду рад и ссылочке на тему. Наверное я не оригинален в проблеме.
...
Рейтинг: 0 / 0
15.10.2004, 12:00:36
    #32740095
Birjan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить суммы с накоплением в запросе.
И вправду, задачка не новая.

Можно так:
Таблица Temp1 (date1, summa1)

SELECT Temp1.date1, (select sum(summa1) from temp1 where date1 <=#06/05/2004#) AS sum1
FROM Temp1
WHERE Temp1.date1)=#6/5/2004#;
...
Рейтинг: 0 / 0
15.10.2004, 13:12:35
    #32740326
Alexa12
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить суммы с накоплением в запросе.
Что-то не совсем то. Мне надо вот так: в исходной таблице 01.01.04,100;02.01.04, 250; 03.01.04, 123 и т.п А результат должен быть такой :
01.01.04, 100; 02.01.04, 350; 03.04.04,473 и т.п.
...
Рейтинг: 0 / 0
15.10.2004, 13:29:15
    #32740369
Birjan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить суммы с накоплением в запросе.
Тогда так:

SELECT t.date1, (select sum(summa1) from temp1 where date1 <=t.date1) AS sum1
FROM Temp1 t
...
Рейтинг: 0 / 0
15.10.2004, 14:39:30
    #32740552
Alexa12
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить суммы с накоплением в запросе.
Во !!! Зер Гуд !!! СПАСИБО !!! То что надо и без особого гемороя. А то я видал аж с вложенными функциями, а на большом объеме они вообще тормозят срасть как. А этот вариант довольно шустро работает на 100 000 записях. Только индекс нужен, а так и просто и быстро.

Всем советую у кого такая задача стоит.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как получить суммы с накоплением в запросе. / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]