为select中的每一行调用一个函数-Postgres

吉尔伯特

我有一个名为“ getList(date)”的函数。此函数从参数中输入的日期开始向我返回一个项目列表(多列)。

如果我打电话给:

SELECT * FROM getList('12/31/2014');

它工作正常。它返回一个带有日期,物品名称和价格的列表。

像这样:

date        item_description    price
-----------------------------------------------
12/31/2014      banana          1
12/31/2014      apple           2.5
12/31/2014      coconut         3

但是我还有另一个表,其中包含要搜索的日期。

因此,我想从该表中选择所有日期,对于返回的每一行,我想调用函数“ getList”以得到如下结果:

 date       item_description    price
 -----------------------------------------------
 12/28/2014     banana          0.5
 12/28/2014     apple           1.5
 12/28/2014     coconut         2
 12/31/2014     banana          1
 12/31/2014     apple           2.5
 12/31/2014     coconut         3

我不知道该怎么做。当然,我的数据还不算什么。这仅仅是为了解释整个事情。

非常感谢你。

克雷格·林格

正确方法-LATERAL加入

正确的方法是使用横向查询(PostgreSQL 9.3或更高版本):

SELECT d."date", f.item_description, f.price
FROM mydates d,
     LATERAL getList(d."date") f;

请参阅手册

旧版方式-SRF输入 SELECT

在较旧的版本中,您必须使用具有某些...古怪的...属性的PostgreSQL扩展,并支持SELECT-list中的set-returning函数除非您知道必须支持PostgreSQL 9.2或更早版本,否则不要使用它

SELECT d."date", (getList(d."date").*
FROM mydates d;

getList对于输出的每一列,这可能会导致函数的多次求值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在pyspark [non pandas]中为数据框的每一行调用一个函数

来自分类Dev

使用Ruby和Sinatra,如何上传一个csv文件并将每一行插入到postgres数据库中?

来自分类Dev

Postgres函数总是返回一行

来自分类Dev

如何根据上一个ID在Postgres中找到下一行?

来自分类Dev

为R数据帧中的每一行绘制一个函数

来自分类Dev

在Postgres中将多行选择为一行

来自分类Dev

Postgres函数返回一行作为JSON值

来自分类Dev

将select中的每个位置将多行分组为一个字符串postgres

来自分类Dev

创建一个休息服务来调用和执行postgres函数

来自分类Dev

使用'parititon by'和窗口函数在postgres中返回多于一行?

来自分类Dev

Postgres:使用在另一个函数中返回字符串的函数

来自分类Dev

std :: ostream为每一行调用一个回调

来自分类Dev

从Postgres中的另一个实例化视图调用实例化视图

来自分类Dev

如何在node.js,Discord bot和postgres集成中为变量分配一个postgres查询?

来自分类Dev

为表中的每一行添加一个虚拟行

来自分类Dev

在 postgres 中为每个用户选择最后一个项目

来自分类Dev

在Postgres函数中显示下一个半小时的时间点

来自分类Dev

Postgres聚合函数,用于选择组中的最佳/第一个元素

来自分类Dev

PHP / Postgres的每行一个输出

来自分类Dev

Postgres限制另一个表中WHERE IN id中每个行的行数

来自分类Dev

SQL Server为查询中的每一行计算一个变量

来自分类Dev

从向量中为数据的每一行选择一个随机元素。

来自分类Dev

为R中的每一行运行一个循环

来自分类Dev

在python中为Panda数据框的每一行创建一个Radar Chart

来自分类Dev

为datagrid组合框中的每一行添加一个不同的ItemsSource

来自分类Dev

为 Pentaho 中的每一行添加一个 UUID4 ID

来自分类Dev

在Postgres中删除另一个引用的表

来自分类Dev

在postgres中创建一个临时表

来自分类Dev

在Postgres的json列中添加一个数组

Related 相关文章

  1. 1

    在pyspark [non pandas]中为数据框的每一行调用一个函数

  2. 2

    使用Ruby和Sinatra,如何上传一个csv文件并将每一行插入到postgres数据库中?

  3. 3

    Postgres函数总是返回一行

  4. 4

    如何根据上一个ID在Postgres中找到下一行?

  5. 5

    为R数据帧中的每一行绘制一个函数

  6. 6

    在Postgres中将多行选择为一行

  7. 7

    Postgres函数返回一行作为JSON值

  8. 8

    将select中的每个位置将多行分组为一个字符串postgres

  9. 9

    创建一个休息服务来调用和执行postgres函数

  10. 10

    使用'parititon by'和窗口函数在postgres中返回多于一行?

  11. 11

    Postgres:使用在另一个函数中返回字符串的函数

  12. 12

    std :: ostream为每一行调用一个回调

  13. 13

    从Postgres中的另一个实例化视图调用实例化视图

  14. 14

    如何在node.js,Discord bot和postgres集成中为变量分配一个postgres查询?

  15. 15

    为表中的每一行添加一个虚拟行

  16. 16

    在 postgres 中为每个用户选择最后一个项目

  17. 17

    在Postgres函数中显示下一个半小时的时间点

  18. 18

    Postgres聚合函数,用于选择组中的最佳/第一个元素

  19. 19

    PHP / Postgres的每行一个输出

  20. 20

    Postgres限制另一个表中WHERE IN id中每个行的行数

  21. 21

    SQL Server为查询中的每一行计算一个变量

  22. 22

    从向量中为数据的每一行选择一个随机元素。

  23. 23

    为R中的每一行运行一个循环

  24. 24

    在python中为Panda数据框的每一行创建一个Radar Chart

  25. 25

    为datagrid组合框中的每一行添加一个不同的ItemsSource

  26. 26

    为 Pentaho 中的每一行添加一个 UUID4 ID

  27. 27

    在Postgres中删除另一个引用的表

  28. 28

    在postgres中创建一个临时表

  29. 29

    在Postgres的json列中添加一个数组

热门标签

归档