【问题标题】:Call table-returning function on each row in Postgres在 Postgres 中的每一行上调用表返回函数
【发布时间】:2014-04-10 16:21:33
【问题描述】:

假设我有一个行数未知的表

-----
geom
-----
0123
3216
6549
...

还有一个返回表格的函数:

> select * from myFunc('line(1 2, 3 4, 5 6)'::geometry);
----------
val1 val2
----------
10   98
75   65

所以我想为上表中的每一行调用这个函数并将它们合并。我该怎么做?

【问题讨论】:

    标签: sql postgresql stored-procedures postgis


    【解决方案1】:

    如果myFunc 是一个集合返回函数,您可以将它从FROM 部分移动到SELECT 部分,同时引用您想要的集合返回记录类型的每个成员。

    SELECT the_table_with_geom.some_primary_key,
           (myFunc(geom)).val1, (myFunc(geom)).val2
    FROM the_table_with_geom;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      • 2016-03-20
      • 1970-01-01
      • 2013-01-15
      相关资源
      最近更新 更多