From: Alexander M. Pravking <fduch@antar.bryansk.ru>
To: pgsql-sql@postgresql.org
Subject: Problem with looping on a table function result
Date: Fri, 1 Aug 2003 02:32:33 +0400
Message-ID: <20030731223233.GJ86626@dyatel.antar.bryansk.ru> (raw)
I've met the following problem.
I had successfully written a function divide_into_days(timestamp, timestamp)
which returns setof (timestamp, timestamp) pairs - a list of days the
given interval is divided into.
What I want is to use each record from resultset to pass to another
function, something like:
SELECT days.*, summary_stats(days.day_start, days.day_end)
FROM divide_into_days('2003-06-01', '2003-07-01') days;
The problem is that summary_stats function returns a record, so I have
to use SELECT * FROM summary_stats(...). I can't use the following too:
SELECT *
FROM summary_stats(days.day_start, days.day_end) stats,
divide_into_days('2003-06-01', '2003-07-01') days;
(there was a discussion a few days ago about using subselects,
but here's a slightly different case).
I wonder if where's a way to do the trick without writing one more
PL/PgSQL table function doing FOR row IN SELECT ... LOOP or using
client-side loop?
Thanks for your help.
--
Fduch M. Pravking
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: fduch@antar.bryansk.ru
Subject: Re: Problem with looping on a table function result
In-Reply-To: <20030731223233.GJ86626@dyatel.antar.bryansk.ru>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox