相关疑难解决方法(0)

PostgreSQL:从返回复合类型的函数中选择

如何在一个函数中包含一个返回复合类型的函数SELECT
我有复合类型:

CREATE TYPE public.dm_nameid AS (
  id   public.dm_int,
  name public.dm_str
);
Run Code Online (Sandbox Code Playgroud)

此外,我有一个函数返回此类型fn_GetLinkedProject(整数).我需要做这样的事情:

SELECT 
    p.id, p.data, p.name, 
    pl.id linked_id, pl.name linked_name
FROM tb_projects p
   left join "fn_GetLinkedProject"(p.id) pl
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

PS我读过这篇文章.

PPS我不想要以下方法:

SELECT
 p.id, p.data, p.name, 
    (select pl1.id from "fn_GetLinkedProject"(p.id) pl1 ) linked_id,
    (select pl2.name from "fn_GetLinkedProject"(p.id) pl2 ) linked_name
FROM tb_projects p
Run Code Online (Sandbox Code Playgroud)

sql postgresql composite left-join lateral-join

3
推荐指数
1
解决办法
3836
查看次数

标签 统计

composite ×1

lateral-join ×1

left-join ×1

postgresql ×1

sql ×1