PostgreSQL视图:在一个计算字段中引用另一个计算字段

7
我和 #1895500 有同样的问题,但是我的数据库是PostgreSQL而不是MySQL。
我该如何定义一个包含计算字段的视图,例如:
 (mytable.col1 * 2) AS times_two

...并创建另一个基于第一个的计算字段:

 (times_two * 2) AS times_four

...?


参见:https://dev59.com/pmox5IYBdhLWcg3w_ZR0 - Peter Berg
2个回答

11

根据公式的复杂程度,你可以使用子查询:

select inner.*, times_two * 2 from
(select mycol * 2 as times_two from table) sub

或重新编写计算过程:

select mycol * 2, mycol * 2 * 2 from table

-2
使用以下语句:
CREATE VIEW view_name AS SELECT column_name*2 AS new_col1, column_name*4 AS new_col2 FROM table_name;
SELECT * FROM view_name;
如果您想要使用此视图列的值,请使用以下内容:
CREATE VIEW new_view AS SELECT new_col1*2 AS final_column FROM view_name;
SELECT * FROM new_view;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接