これを行う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
ただし、もちろん、速度が遅く、安全ではない可能性があります。マテリアライズドビューを使用して、より簡単にキャッシュすることができます。など-そこにあるドキュメントを参照してください。