From: Jann Röder <roederja@ethz.ch>
To: pgsql-sql@postgresql.org
Subject: Table returning functions
Date: Wed, 08 Sep 2010 15:35:24 +0200
Message-ID: <i683es$v8b$1@dough.gmane.org> (raw)
Hi,
I have a question which does not seem to be covered in the
documentation: I have a function f(i) that returns a table with three
columns (a, b, c).
In the documentation
(http://www.postgresql.org/docs/8.4/interactive/xfunc-sql.html#XFUNC-SQL-FUNCTIONS-RETURNING-SET)
it says that (even though deprecated) you can call such functions in a
SELECT clause like so:
SELECT id, f(id) FROM some_table .
This will give me a two column table that looks like this:
id | (a, b, c)
However since I want a 4 column table like this
id | a | b | c
, I do this instead:
SELECT id, (f(id)).a, (f(id)).b, (f(id)).c FROM some_table.
However I'm not quite sure if this really gives me what I want (i.e. the
same as in the first query only with the tuple elements as separate
columns).
Of course I'm open to suggestions on how to do this more elegantly and
also how one can do something like this without using the deprecated
feature of calling a set returning function in SELECT.
Jann
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: roederja@ethz.ch
Subject: Re: Table returning functions
In-Reply-To: <i683es$v8b$1@dough.gmane.org>
* 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