我有一个这样的函数,它总是只返回一条记录:
CREATE FUNCTION foo(pid int) RETURNS TABLE (a int, b int)
AS $$
-- …
$$ LANGUAGE sql;
我想从这样的表中选择行:
SELECT p.id
, foo(p.id).*
FROM puns AS p;
但是,这会在.*
. 我无法弄清楚如何使用 a 来做到这一点JOIN
,因为p.id
它是函数的参数。
如何将函数返回的记录解包到选择查询中?所需的结果将包含三列id
和。a
b
我正在使用 PostgreSQL 9.2。