Postgresql 在另一个函数中调用一个函数,从主函数传递一个参数

Posted

技术标签:

【中文标题】Postgresql 在另一个函数中调用一个函数,从主函数传递一个参数【英文标题】:Postgresql calling a function in another function passing an argument from the main function 【发布时间】:2020-11-07 13:58:47 【问题描述】:

我正在使用 Postgresql,我有一个函数可以检索以学校 ID 作为参数的所有教师(姓名、年龄和学科列)

当前查询如下所示

select id, (select * from getallteachers(schools.id)) 
from schools

这给我一个错误,说子查询不能返回多个值,然后我尝试了这个

select id, getallteachers(schools.id)
from schools

这会将所有列(姓名、年龄等)合并为一列作为记录

我想要得到的结果集是

schoolid | teachers name | teachers age | teachers subject  

【问题讨论】:

【参考方案1】:

使用横向连接:

select s.id, g.*
from schools s cross join lateral
     getallteachers(s.id) g

【讨论】:

以上是关于Postgresql 在另一个函数中调用一个函数,从主函数传递一个参数的主要内容,如果未能解决你的问题,请参考以下文章

ExtJS:如何在另一个函数中调用一个函数?

在另一个函数调用中调用一个函数[重复]

在另一个控制器中调用控制器函数

我们可以在另一个 JS 文件中调用用一个 JavaScript 编写的函数吗?

Java在另一个[重复]中调用构造函数

如何调用 OnEraseBkgnd() 在另一个函数中重新绘制窗口? (MFC)