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

问题描述

我使用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  

解决方法

使用横向连接:

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...