Гость
Map
Форумы / Informix [игнор отключен] [закрыт для гостей] / Сумма значений за последние дни отчетных периодов / 5 сообщений из 5, страница 1 из 1
19.05.2014, 15:49
    #38645360
andrew_therion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сумма значений за последние дни отчетных периодов
Добрый день.

Помогите решить задачу

Есть таблица данных:

ИдКодотчетный_периоддата_операцииоперация_1операция_21100101.02.20141072100117.02.20141283100201.03.201415104200101.02.201460415200201.03.201450346200215.03.201455387200301.04.201470488300101.02.201445319300201.03.2014503410300205.03.2014604111400101.02.2014201412400201.03.20143021


Нужно суммировать значения полей операция_1 и операция_2 в зависимости от последней даты проведения самой операции, по каждому коду и отчетному периоду отдельно

В результате должно получится следующее:


Кодсумма операция_1 сумма операция_21002719200185127300105724005034

...т.е. для код 100 должно возвращаться сумма значений полей операция_1, операция_2 для ИД = 2 и 3, так как для отчетного периода = 1, последний день операции = 17.02.2014

для код 200 - ИД = 4, 6 и 7
для код 300 - ИД = 8 и 10
для код 200 - ИД = 11 и 12


В случае если за последний день было проведены две операции за тот же отчетный период, чтоб бралось в подсчет максимальное значение поля операция_1
...
Рейтинг: 0 / 0
19.05.2014, 22:55
    #38645777
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сумма значений за последние дни отчетных периодов
andrew_therion,

Ограничения есть, как решать?
Хранимой процедурой, скриптом, одним селектом?
...
Рейтинг: 0 / 0
20.05.2014, 04:59
    #38645852
Сумма значений за последние дни отчетных периодов
andrew_therion,
Как на приведенных исходных данных могло получится то, что выделено красным?
Кодсумма операция_1 сумма операция_210027 19 2001851273001057240050 34 Или очепятка? И имелось ввиду такое:
Кодсумма операция_1 сумма операция_210027 18 2001851273001057240050 35


А вообще - классическая задача по выборке первых/последних строк в группе по заданному критерию сортировки...
Методов решения - масса: left join, in-подзапрос, join с агрегированным подзапросом (derived-table)
Варианты реализации можно глянуть тут . Некоторые из способов будут работать и на твоем сервере...
...
Рейтинг: 0 / 0
20.05.2014, 09:12
    #38645899
andrew_therion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сумма значений за последние дни отчетных периодов
АнатоЛойandrew_therion,

Ограничения есть, как решать?
Хранимой процедурой, скриптом, одним селектом?


Нужно одним селектом.


Я пока чайник в этих делах, умею только простыми селектами играться...но на будущее было не плохо освоить процедуры, скрипты :)
...
Рейтинг: 0 / 0
20.05.2014, 09:37
    #38645931
andrew_therion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сумма значений за последние дни отчетных периодов
Добрый Э - Эхandrew_therion,
Как на приведенных исходных данных могло получится то, что выделено красным?
Кодсумма операция_1 сумма операция_210027 19 2001851273001057240050 34 Или очепятка? И имелось ввиду такое:
Кодсумма операция_1 сумма операция_210027 18 2001851273001057240050 35


Да, извиняюсь, вышла опечатка

А вообще - классическая задача по выборке первых/последних строк в группе по заданному критерию сортировки...
Методов решения - масса: left join, in-подзапрос, join с агрегированным подзапросом (derived-table)

Варианты реализации можно глянуть тут . Некоторые из способов будут работать и на твоем сервере...

Буду пробовать...:)
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / Сумма значений за последние дни отчетных периодов / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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