powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Задача разбивки-размножения строк по периодам действия
4 сообщений из 29, страница 2 из 2
Задача разбивки-размножения строк по периодам действия
    #39954937
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry_z


Stax, попробуйте добавить в исходные данные по сделке ещё одну строку с периодом.

какую? с разными клиентами?

предлагайте данные и что в результате


.....
stax
...
Рейтинг: 0 / 0
Задача разбивки-размножения строк по периодам действия
    #39954939
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry_z,


Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
SQL> select * from deals_base order by 1,2;

        ID FROM_DATE  TO_DATE     CLIENT_ID
---------- ---------- ---------- ----------
         1 02.08.2019 01.01.3000          2
         3 08.02.2019 01.01.3000          4
         5 01.07.2019 03.08.2019          2
         5 04.08.2019 01.01.3000          4

SQL> select * from table(stax_pp);

        ID DATE_FROM  DATE_TO
---------- ---------- ----------
         1 01.01.2019 01.08.2019
         1 02.08.2019 05.08.2019
         1 06.08.2019 01.01.3000
         3 05.02.2019 07.02.2019
         3 08.02.2019 01.01.3000
         5 05.02.2019 07.02.2019
         5 08.02.2019 30.06.2019
         5 01.07.2019 03.08.2019
         5 04.08.2019 01.01.3000

9 rows selected.




.....
stax
...
Рейтинг: 0 / 0
Задача разбивки-размножения строк по периодам действия
    #39954970
Dmitry_z
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну почти.
Период у сделки может меняться и по другим параметрам(для нас несущественным), а не по клиентам.
Попробуйте на таком наборе запустить:
Код: plsql
1.
2.
3.
4.
5.
6.
        ID FROM_DATE  TO_DATE     CLIENT_ID
---------- ---------- ---------- ----------
         1 02.08.2019 01.01.3000          2
         3 08.02.2019 01.01.3000          4
         5 01.07.2019 03.08.2019          2
         5 04.08.2019 01.01.3000          2
...
Рейтинг: 0 / 0
Задача разбивки-размножения строк по периодам действия
    #39954976
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry_z
Ну почти.
Период у сделки может меняться и по другим параметрам(для нас несущественным), а не по клиентам.
Попробуйте на таком наборе запустить:
Код: plsql
1.
2.
3.
4.
5.
6.
        ID FROM_DATE  TO_DATE     CLIENT_ID
---------- ---------- ---------- ----------
         1 02.08.2019 01.01.3000          2
         3 08.02.2019 01.01.3000          4
         5 01.07.2019 03.08.2019          2
         5 04.08.2019 01.01.3000          2



pl/sql тем и хорош, что легче реализовать "и по другим параметрам"
напр разбить и по месяцам

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
SQL> select * from clients_base;

 CLIENT_ID FROM_DATE  TO_DATE
---------- ---------- ----------
         2 01.01.2019 05.08.2019
         2 06.08.2019 01.01.3000
         4 05.02.2019 07.08.2019
         4 08.02.2019 01.01.3000

SQL> select * from deals_base order by 1,2;

        ID FROM_DATE  TO_DATE     CLIENT_ID
---------- ---------- ---------- ----------
         1 02.08.2019 01.01.3000          2
         3 08.02.2019 01.01.3000          4
         5 01.07.2019 03.08.2019          2
         5 04.08.2019 01.01.3000          2

SQL> select * from table(stax_pp);

        ID DATE_FROM  DATE_TO
---------- ---------- ----------
         1 01.01.2019 01.08.2019
         1 02.08.2019 05.08.2019
         1 06.08.2019 01.01.3000
         3 05.02.2019 07.02.2019
         3 08.02.2019 01.01.3000
         5 01.01.2019 30.06.2019
         5 01.07.2019 03.08.2019
         5 04.08.2019 05.08.2019
         5 06.08.2019 01.01.3000

9 rows selected.

SQL>
...
Рейтинг: 0 / 0
4 сообщений из 29, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Задача разбивки-размножения строк по периодам действия
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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