您可以编写一个为您执行此操作的sql函数,并使用例如postgres- utils随附的函数:
select
c.name as cust_name,
p.name as prod_name,
p.cost as prod_cost,
eval(
'select '||c.price_expression||' from product where id=:pid',
'{"{cost}",:pid}',
array[ p.cost, p.id ]
) as cust_cost
from product p, customer c
但是当然,它可能很慢,不安全,您可以使用实例化视图来更轻松地缓存它,等等。