postgres:如何使用text []函数的结果作为SELECT中的参数

时间:2017-03-17 12:13:36

标签: sql postgresql

我有一个函数给我text[]作为结果,输出看起来像这样

tables_array                                     
----------------------------------------------------
{mon11,mon10,mon9,mon8,mon7,mon6,mon5,mon4,mon3,mon2,mon1}

现在我想在另一个函数SELECT

中使用该输出
SELECT 
     tables_array('1') 
from 
     abc;

但我得到了

{mon11,mon10,mon9,mon8,mon7,mon6,mon5,mon4,mon3,mon2,mon1}

abc

中的每个条目

所以我用了

SELECT 
     array_to_string(tables_array('1'), ',') 
from 
     abc;

但现在我得到了

tables_array                                     
----------------------------------------------------
mon11,mon10,mon9,mon8,mon7,mon6,mon5,mon4,mon3,mon2,mon1

abc中的每个条目,再次

我确实尝试了几种与其他SUBSELECTS的组合,它以语法错误或错误结果结束。

编辑1:我希望结果看起来像:

mon11   mon10     mon9      mon8 
--------------------------------
0.070   0.0013    0.091908  0.26

编辑2:

修正了一些错误的功能命名

2 个答案:

答案 0 :(得分:0)

显示此示例,可能对您有所帮助

select unnest((select array['ax','dsf','qwe']))

答案 1 :(得分:0)

这应该适用于将输出值用作另一个选择中的参数:

select t.months[1] --to get first value
from abc h,
LATERAL(select * from tables_array())  t(months)

这将作为交叉连接。