|
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&msg=32348643&tid=1606414]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
65ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
others: | 535ms |
total: | 667ms |
0 / 0 |