I am trying to simplify a query that has much duplication and is doing the same operations to multiple returned values. How can I apply the same d * 10000
operation to e
, g
, i
to simplify this query?
select a, b, c, a b c as d,
(a b c) * 10000 * e as f,
(a b c) * 10000 * g as h,
(a b c) * 10000 * i as j
from mytable
CodePudding user response:
You can simplify with a lateral join
and values
, such as
select a, b, c, a b c as d,
v * e as f,
v * g as h,
v * i as j
from mytable t,
lateral (values((a b c) * 10000))x(v);
Demo Fiddle