powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / как обойтись без OLAP DB2 7 OS/390
2 сообщений из 2, страница 1 из 1
как обойтись без OLAP DB2 7 OS/390
    #34613751
RedDebil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть 2 временные таблицы, в которые нарабатывается инфа из базы запросами
insert select. Таблицы содержат записи с одинаковым неуникальным ключем, которые в последствии будут объединятся в 1 объект с уникальным идентификатором. Требуется проставить этот уникальный идентификатор в 2 таблицах руководствуясь значениями ключа и не прибегая к курсору.

Исходные таблицы:

Таблица 1:
Код: plaintext
1.
2.
id k1 k2 d1 d2 d3
 0    1     1   x   x   x 

Таблица 2:
Код: plaintext
1.
2.
3.
id k1 k2 d1 d2 d3 d4
 0    1     1   x   x   x  x
 0    1     2   x   x   x  x
Результирующие таблицы:

Таблица 1:
Код: plaintext
1.
2.
id k1 k2 d1 d2 d3
 1    1     1   x   x   x 

Таблица 2:
Код: plaintext
1.
2.
3.
id k1 k2 d1 d2 d3 d4
 1    1     1   x   x   x  x
 2    1     2   x   x   x  x

OLAP'овских функций как на персоналке нет....
есть вариант:

Код: plaintext
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.
  update Таблица  1  t0
  set id=
   (
    select
           id
    from
     (
      select
                   k1,
                   k2,
                   rdrownum() as id -- UDF - counter сампловская
      from      
      (
          select 
                   coalesce(t1.k1,t2.k1),
                   coalesce(t1.k2,t2.k2),

            from Таблица  1  t1
            full outer join Таблица  2  t2 on
                                                  t1.k1  =  t2.k1  and
                                                  t1.k2 =  t2.k2
      ) t3
      group by
                     k1,
                     k2
     ) t4
    where
          t4.k1  =  t0.k1  and
          t4.k1 =  t0.k1
   );

но возникает логичный вопрос если выполнить такой-же апдейт для Таблица 2, будут ли совпадать во всех случаях ID для одинаковых ключей... стоит ли надеятся на "упорядочивание" при group by.

Если есть у кого мысли по этому поводу буду рад услышать.

PS: IBM фашЫсты зачем так издеватся, когда ж будет нормальный SQL под MF....
в 8 это тоже актуально, отсутсвие того что есть на персоналке row_number rank....
...
Рейтинг: 0 / 0
как обойтись без OLAP DB2 7 OS/390
    #34613781
RedDebil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
еще одно уточнение без дополнительной временной таблицы.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / как обойтись без OLAP DB2 7 OS/390
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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