Postgresql函数返回记录 - 访问各个列

时间:2014-11-12 13:17:23

标签: function postgresql record

我有一个函数f_product_price(lab uuid,price_list uuid,product_class uuid),它返回有用项的记录。 如果我在FROM子句中使用该函数,它在版本9.3中工作正常:

select a.item_name, pl.base_price, ....
from lab l, items a,  f_product_pric(l.id, l.price_list, a.product_class) as pl
where lab.guid=? .....

但我在版本9.2中需要它,它返回错误:

表" pl"有条目,但无法从查询的这一部分引用。

有人知道 如何修改选择
对于我的目的,只需 按名称 访问选择列表中的单个项目

select a.item_name, f_product_pric(l.id, l.price_list, a.product_class).base_price, ....
from lab l, items a .......
where lab.guid=? .....

但它会在#34;或附近返回语法错误。"
什么是正确的语法?

1 个答案:

答案 0 :(得分:0)

我会这样写的:

select 
    a.item_name, 
    (SELECT base_price FROM f_product_pric(l.id, l.price_list, a.product_class)) as base_price
from lab l, items a
where lab.guid=? .....