Postgresql query column in another column

Given that I have a table with some data ... I have a query that is used to retrieve data with a complex case argument ...

SELECT row_number() over (...) as num, ... as field 1, case ... as field2 FROM ... 

Now I would like to add more complex logic, for example

  SELECT row_number() over (...) as num, ... as field 1, field2 * num as field2 FROM ... 

Basically, if I type row_num + 1 as field2 Postgres returns me

ERROR: column "row_num" does not exist

How can I refer to the request field inside this request?

+4
source share
2 answers

make an external table and select field 2 in this table

 Select *, num+1 as field2 from ( SELECT row_number() over (...) as num, ... as field1 FROM ... ) t 
+5
source
 SELECT row_number() over (...) as num, 1 + row_number() over (...) as field2, ... as field3, FROM ... 
0
source

All Articles