Я хотел бы знать, есть ли возможность создавать что-то вроде именованных вычислений в Postgres?Скажем, у меня есть таблица:
create table foo (
bar smallint,
baz smallint
)
Я могу запустить select (bar / baz) * 100 from foo;
, чтобы получить результат, но я бы хотел получить формулу (псевдокод): avg_foo ::= (bar/baz)*100
, а затем сделать select avg_foo from foo;
получить тот же результат.В идеале я хотел бы иметь отдельную таблицу с вычислениями:
create table calculations (
name varchar,
formula varchar
)
, чтобы я мог динамически создавать вычисления и использовать их в выборках, например:
insert into calculations (name, formula) values
('sum_bar_baz', 'bar+baz'),
('mult_bar_baz', 'bar*baz');
select sum_bar_baz, mult_bar_baz from foo;
Как сделатьЯ делаю это с Postgres?