在其他列中引用postgresql查询列

Ves*_*tel 5 sql postgresql

鉴于我有一些数据表...我有一个查询,用于检索具有复杂案例子句的数据...

 SELECT row_number() over (...) as num, ... as field 1, 
    case ... as field2 
    FROM ...
Run Code Online (Sandbox Code Playgroud)

现在我想添加更复杂的逻辑,比如

 SELECT row_number() over (...) as num, ... as field 1, 
    field2 * num as field2 
    FROM ...
Run Code Online (Sandbox Code Playgroud)

基本上,如果我输入row_num + 1 as field2Postgres返回我

错误:列"row_num"不存在

我如何在这个查询中引用查询字段?

Asi*_*sif 6

创建一个外表并在该表中选择字段2

Select *, num+1 as field2
from
(
   SELECT row_number() over (...) as num, ... as field1 FROM ...
) t
Run Code Online (Sandbox Code Playgroud)