Pergunta

Eu tenho a mesma pergunta que #1895500, mas com o PostgreSQL não o MySQL.

Como posso definir uma visão que possui um campo calculado, por exemplo:

 (mytable.col1 * 2) AS times_two

... e crie outro campo calculado baseado no primeiro:

 (times_two * 2) AS times_four

...?

Foi útil?

Solução

Dependendo de quão pesado é o formla, você pode usar uma subconsência:

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

Ou reescrever o cálculo:

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

Outras dicas

Use esta declaração

 
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 ; 

If you want use this view column values. use following things 

create view new_viwe as select new_col1*2 as final_column from view_name ; 

select * from new_view ; 


Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top