Андрій Жук wrote:

select A.rownum, A.plat_id from (
select rdb$get_context('USER_TRANSACTION','row') as rownum, plat_id,
       rdb$set_context('USER_TRANSACTION','row',
       cast(rdb$get_context('USER_TRANSACTION','row') as integer)+1) X
from app_plateg
where plat_date>:DATE_FROM) A

Похоже, оптимизатор умничает, и так как поле 3 вовне не выводится, то оно и не вычисляется.

Почему это удивляет? Если ты во view воткнул computed by поле и не используешь его в запросе, должно ли оно вычисляться?

> Кроме того, если у поля нет алиаса, то даже если оно не
используется во внешнем запросе, получим COLUMN 3 is specified without a name.

Все поля derived table должны быть поименованы. Даже если ты снаружи делаешь count(*). Согласен, что тут есть некоторое противоречие с предыдущим пунктом, но такова селяви.


--
Дмитрий Еманов

Ответить