【发布时间】:2015-01-16 19:24:08
【问题描述】:
我有一个名为“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
我不知道该怎么做。当然我的数据不是水果清单。这只是为了更容易解释整个事情。
非常感谢。
【问题讨论】:
-
版本?
select version() -
@ClodoaldoNeto 版本是 PostgreSQL 9.2.4
-
你能改变函数,或者创建另一个接受日期数组作为参数的函数吗?该数组将被取消嵌套并在函数内部连接。它将被称为:
select * from getList((select array_agg(the_date) from dates_table))
标签: postgresql function postgresql-9.2