|
SQL
|
|||
---|---|---|---|
#18+
Еще один вопрос по SQL. Нужно составить запрос типа SELECT <выражение> AS f1, <выражение, в котором присутствует f1> AS f2 ... Переписывать выражение f1 не хочется (оно длинное) Конструкцию WITH употреблять не хочется (дальше f3 зависит от f2, f4 от f3 и т.д.) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2003, 19:59 |
|
SQL
|
|||
---|---|---|---|
#18+
азачем? атак сойдет? Код: plaintext 1. 2.
С Новым Годом ! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2003, 20:26 |
|
SQL
|
|||
---|---|---|---|
#18+
То же самое, что и с 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? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2003, 21:53 |
|
SQL
|
|||
---|---|---|---|
#18+
А ты подумай: как в таком случае разруливать порядок вычисления полей и избежать зацикливания типа: f(b) as a, f(a) as b и все поймешь ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2003, 05:38 |
|
|
start [/forum/topic.php?fid=43&gotonew=1&tid=1606414]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
11ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 325ms |
total: | 496ms |
0 / 0 |