有没有办法通过更改输入并合并所有结果来遍历函数?
Is there a way to loop over a function with changing inputs and union all the results?
我有一个功能是 returns 产品信息在 table 中。我想查询不同产品的此函数结果并汇总响应。最好的方法是什么?
到目前为止,我是这样处理的,但我希望有一种方法可以循环一个函数,将产品列表作为输入:
SELECT name, key, value
FROM infofunc_v1('whitepasta')
UNION ALL
SELECT name, key, value
FROM infofunc_v1('darkpasta')
Stack 中第一个 post。感谢所有建议,祝你有美好的一天!
您可以使用横向连接:
SELECT name, key, value
FROM (VALUES ('whitepasta'), ('darkpasta')) v(val) CROSS JOIN LATERAL
infofunc_v1('whitepasta');
注意:如果你想要一个单一的输入参数,VALUES
可以是UNNEST(:array)
,所以你可以传入一个值数组。
我有一个功能是 returns 产品信息在 table 中。我想查询不同产品的此函数结果并汇总响应。最好的方法是什么?
到目前为止,我是这样处理的,但我希望有一种方法可以循环一个函数,将产品列表作为输入:
SELECT name, key, value
FROM infofunc_v1('whitepasta')
UNION ALL
SELECT name, key, value
FROM infofunc_v1('darkpasta')
Stack 中第一个 post。感谢所有建议,祝你有美好的一天!
您可以使用横向连接:
SELECT name, key, value
FROM (VALUES ('whitepasta'), ('darkpasta')) v(val) CROSS JOIN LATERAL
infofunc_v1('whitepasta');
注意:如果你想要一个单一的输入参数,VALUES
可以是UNNEST(:array)
,所以你可以传入一个值数组。