【发布时间】:2018-01-26 01:39:13
【问题描述】:
我已经为所有内容设置了别名,但如果没有
,似乎无法让这个查询正常工作错误列引用“id”不明确”
如果我删除其中一个连接似乎可以工作,但我只是对为什么它不能与两个连接工作感到困惑?
create function influence.person_info(user_id integer)
returns setof influence.person_object as
$$
declare
obj influence.person_object;
begin
select t1.email as a_email, t2.organisation_url as a_org, t3.first_name as a_first, t3.last_name as a_last into obj
from influence_private.person_account as t1
inner join influence_private.organisation_account as t2 on (t1.organisation_id = t2.id)
inner join influence.person as t3 on (t1.person_id = t3.id)
where id = $1;
return next obj;
end;
$$ LANGUAGE plpgsql stable;
任何指针?
【问题讨论】:
-
只是一些提示 - 这个函数只返回一行。那么它应该被定义为
RETURNS influence.person_object并且应该使用RETURN而不是RETURN NEXT。 RETURNS SETOF 可能比 RETURNS 复合慢得多。此外,在您的示例中,行估计可能会严重错误。
标签: postgresql