|
|
|
UPDATE с OVER PARTITION BY
|
|||
|---|---|---|---|
|
#18+
Добрый день. есть таблица (магазин; товар; дата начала; дата окончания) но в нее загружаются только первые три столбца Входные данные приходит например строка магазин, товар, дата (1; 1; 01.01.2001) следом же еще по этому магазину и товару приходит строка но с другой датой(1; 1; 01.01.2005) на выходе нужно получить такие строки 1; 1; 01.01.2001; 31.12.2004 1; 1; 01.01.2005; 01.01.3000 запрос ниже срабатывает идеально SELECT ITEM, SITE , BEGIN_DATE , NVL(LEAD(Begin_date) OVER(PARTITION BY ITEM,SITE ORDER BY Begin_date) - 1, to_date('01.01.3000', 'dd.mm.yyyy')) AS END_DATE FROM rable1 Возможно ли его как то переделать для UPDATE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2018, 10:10 |
|
||
|
UPDATE с OVER PARTITION BY
|
|||
|---|---|---|---|
|
#18+
Festani_10Добрый день. есть таблица (магазин; товар; дата начала; дата окончания) но в нее загружаются только первые три столбца Входные данные приходит например строка магазин, товар, дата (1; 1; 01.01.2001) следом же еще по этому магазину и товару приходит строка но с другой датой(1; 1; 01.01.2005) на выходе нужно получить такие строки 1; 1; 01.01.2001; 31.12.2004 1; 1; 01.01.2005; 01.01.3000 запрос ниже срабатывает идеально SELECT ITEM, SITE , BEGIN_DATE , NVL(LEAD(Begin_date) OVER(PARTITION BY ITEM,SITE ORDER BY Begin_date) - 1, to_date('01.01.3000', 'dd.mm.yyyy')) AS END_DATE FROM rable1 Возможно ли его как то переделать для UPDATE?через merge а это точно надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2018, 10:13 |
|
||
|
UPDATE с OVER PARTITION BY
|
|||
|---|---|---|---|
|
#18+
Festani_10для UPDATEЕсли приход пачками, небольшими по сравнению с данными в таблице, дешевле будет смерджить min входящих в имеющийся в единственном числе null. И вставлять новые строки c over только по ним. Ну и уникалный индекс на null для гарантий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2018, 10:25 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39720759&tid=1883306]: |
0ms |
get settings: |
5ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
145ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 208ms |
| total: | 443ms |

| 0 / 0 |
