powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / SQL
5 сообщений из 5, страница 1 из 1
SQL
    #32348416
mike_x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще один вопрос по SQL.
Нужно составить запрос типа
SELECT
<выражение> AS f1,
<выражение, в котором присутствует f1> AS f2
...

Переписывать выражение f1 не хочется (оно длинное)
Конструкцию WITH употреблять не хочется (дальше f3 зависит от f2, f4 от f3 и т.д.)
...
Рейтинг: 0 / 0
SQL
    #32348433
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
азачем?
атак сойдет?
Код: plaintext
1.
2.
select tms, date(tms) from 
( select  current timestamp as tms   from sysibm.sysdummy1  )  q;

С Новым Годом !
...
Рейтинг: 0 / 0
SQL
    #32348477
mike_x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То же самое, что и с WITH.

select tms, day(dtms) from
(select tms, date(tms) as dtms from
( select current timestamp as tms from sysibm.sysdummy1 ) q) qq;

Пример утрирован, но смысл следующий: уровней вложенности может быть много.
Вообще я не вижу причин (фундаментальных) которые бы помешали это сделать влоб:
select
current timestamp as tms,
date(tms) as dtms,
day(dtms)
...

Ведь рекурсивной зависимости нет.
Но, видимо, DB2 не позволяет.
Интересно, а есть подобные возможности в Oracle или MS SQL?
...
Рейтинг: 0 / 0
SQL
    #32348539
golsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ты подумай: как в таком случае разруливать порядок вычисления полей и избежать зацикливания типа: f(b) as a, f(a) as b и все поймешь
...
Рейтинг: 0 / 0
SQL
    #32348643
mike_x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to golsa
Рекурсию (явную и неявную) можно отследить во время разбора запроса менеджером базы данных и запретить.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / SQL
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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