Представления PostgreSQL: ссылка на одно вычисляемое поле в другом вычисляемом поле

У меня тот же вопрос, что и # 1895500, но с PostgreSQL, а не с MySQL.

Как определить вид с вычисляемым полем, например:

 (mytable.col1 * 2) AS times_two

... и создайте другое вычисляемое поле, основанное на первом:

 (times_two * 2) AS times_four

...?

2 ответа

Решение

В зависимости от того, насколько тяжелой является формула, вы можете использовать подзапрос:

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

Или переписать вычисление:

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

Используйте это утверждение

 
CREATE  VIEW  view_name как SELECT  column_name*2 как new_col1, column_name*4 как new_col2 из table_name; 

выберите * из view_name; 

Если вы хотите использовать этот вид столбца значений. использовать следующие вещи 

создать представление new_viwe как select new_col1*2 как final_column из view_name; 

выберите * из new_view; 


Другие вопросы по тегам