postgresql - 有一个 postgres 函数接受一个参数并返回一个表如何将许多这样的结果合并到一个表(SelectMany)中?
问题描述
我想在 Postgres SQL 中做类似 LINQ SelectMany 的事情。我有一个带有这样签名的函数:
CREATE or REPLACE FUNCTION get_objects(id_in int) RETURNS TABLE (name varchar, id_out int)
每次调用它都会返回 200 行。
我有一个返回 in_ID 表的选择。我想在这样一个表的每一行上调用我的函数并将它们合并为一个。换句话说,将许多行列表连接到一个大表中。如何在 Postgres SQL 中做这样的事情(不在函数循环内)?
解决方案
使用横向连接。
select l.*
from the_table_of_in_ids as t -- or put the query in brackets here
cross join lateral get_objects(t.id) as l;
推荐阅读
- swift - PromiseKit 编译错误
- python - 硒的Python脚本不起作用,webdriver有问题
- python - python 3 int'对象没有属性'isdecimal'
- c++ - 不能用括号调用 C++ 无参数构造函数 - 为什么?
- vue.js - 如何制作虚拟卷轴?
- javascript - 制表符上的 Tinymce 制作:同一行中的符号
- c - 在 C 中使用 typeof 检查 typeof 变量
- lua - 如何确定 hotkeys_popup.show_help 的大小
- php - 如何控制在php后端首先执行哪个http请求?
- c# - Bootstrap/ASP.NET Core 3.1:提交按钮不会立即更新页面,而是每隔一次点击它