powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Помогите с запросом
2 сообщений из 2, страница 1 из 1
Помогите с запросом
    #34855648
OlegA67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
В таблице 9 полей типа DATE. В 9-ое поле надо проставить значение большей даты из оставшихся восьми. В полях допускается значение NULL.
...
Рейтинг: 0 / 0
Помогите с запросом
    #34855852
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
В предположении, что:
create table <table> (<pk>, d1 date, ..., d9 date)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
create function interval(i int)
returns table (n int)
language sql
return
with t (n) as 
(
values ( 1 )
  union all
select n+ 1 
from t
where n<i
)
select n from t;
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
merge into <table> t using
(
select a.<pk>
, max
(
case t.n
  when  1  then d1
  ...
  when  8  then d8
end
) d9
from <table> a, table(interval( 8 )) t(n)
group by a.<pk>
) g on g.<pk>=t.<pk>
when matched then update set d9=g.d9
else ignore;
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Помогите с запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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