powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Подзапрос в списке полей
3 сообщений из 3, страница 1 из 1
Подзапрос в списке полей
    #37123601
BuryCommoner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте. Вопрос по запросу. Есть две таблицы:
Код: plaintext
1.
create table t1 (id int);
create table t2 (period date, id int, value1 int, value2 int, constraint fk_id foreign key (id) references t1);
Нужно получить список id из таблицы t1 и последнюю пару значений (value1, value2) к каждому из них из таблицы t2.
Можно сделать так:
Код: plaintext
1.
2.
3.
4.
select
    t1.id
    ,(select value1 from t2 where id = t1.id order by period desc fetch first row only) as value1
    ,(select value2 from t2 where id = t1.id order by period desc fetch first row only) as value2
from t1;
Можно ли сделать это попроще? На случай, если значений будет не два, а десятки. Например, что-нибудь типа:
Код: plaintext
1.
2.
3.
select
    t1.id
    ,(select value1, value2 from t2 where id = t1.id order by period desc fetch first row only)
from t1;
И ещё вопрос. Зависит ли производительность от кучи одинаковых подзапросов, но на разные поля, или оптимизатор сведёт их к одному запросу?

---------------------------------------------------------
IS NULL OR NOT IS NULL
...
Рейтинг: 0 / 0
Подзапрос в списке полей
    #37123769
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
BuryCommonerМожно ли сделать это попроще? На случай, если значений будет не два, а десятки.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select
  t1.id
, t2.value1, ..., t2.valueN
from t1
left join table(
 select t2.value1, ..., t2.valueN
 from t2 
 where t2.id = t1.id 
 order by t2.period desc 
 fetch first row only
) t2 on  1 = 1 ;
BuryCommonerЗависит ли производительность от кучи одинаковых подзапросов, но на разные поля, или оптимизатор сведёт их к одному запросу?Неужели тяжело самому проверить?
...
Рейтинг: 0 / 0
Подзапрос в списке полей
    #37123827
BuryCommoner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, забыл про то, что можно использовать table().
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Подзапрос в списке полей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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