powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Преобразование диапазона дат
5 сообщений из 5, страница 1 из 1
Преобразование диапазона дат
    #38538815
Fedor55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Помогите пожалуйста с запросом для диапазонов дат.

Есть простой запрос:
Код: sql
1.
2.
3.
4.
select  t.DATE,
          sum (t.a*t.b) as debt
from    t
group by  t.DATE



Который возвращает список дат и поле debt для каждой из них. Результат выглядит приблизительно так:
DATE debt
2013-03-15 00:00:00 70453.6800000000
2013-03-18 00:00:00 -70453.6800000000
2013-05-30 00:00:00 113332.6000000000
2013-06-03 00:00:00 -113332.6000000000
2013-08-09 00:00:00 327807.4700000000
2013-08-12 00:00:00 -327807.4700000000
2013-09-13 00:00:00 110962.3000000000
2013-09-16 00:00:00 815207.9000000000
2013-09-17 00:00:00 -926170.2000000000

В результирующей таблице необходимо получить строки таким образом:
Если dept стал положительным - DATE - отображается как stardate. Дата когда поле dept < необходимо выводить как enddate.
При этом если попадается подряд две даты с положительным debt - в stardate выводиться только первая дата.
То есть для этих данных результат должен иметь такой вид:
stardate enddate
2013-03-15 00:00:00 2013-03-18 00:00:00
2013-05-30 00:00:00 2013-06-03 00:00:00
2013-08-09 00:00:00 2013-08-12 00:00:00
2013-09-13 00:00:00 2013-09-17 00:00:00

Заранее премного благодарен)
...
Рейтинг: 0 / 0
Преобразование диапазона дат
    #38539211
группировка по разности двух разнооконных row_number-ов.
либо lead с последующим sum() over(order by).
...
Рейтинг: 0 / 0
Преобразование диапазона дат
    #38540146
Fedor55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх,

Спасибо огромное. Про lead ищу, а вот "по разности двух разнооконных row_number-ов" - не уловил. Можно поконкретней суть подхода?
...
Рейтинг: 0 / 0
Преобразование диапазона дат
    #38540265
вот пример реализации на lead/lag
Синтаксис оракловый, но всё должно быть понятно.

На row_number-ах вариант не совсем под твою ситуацию, но теоретически, можно и его заточить под твою задачу. Когда нечем будет заняться - покажу как...
...
Рейтинг: 0 / 0
Преобразование диапазона дат
    #38540278
Вот комбинированный вариант на разнооконных row_number-ах + lead
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Преобразование диапазона дат
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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