Thread: Select from function for part of column results

Select from function for part of column results

From
Rory Campbell-Lange
Date:
I've written a function to provide information relating to each row in
an inbox. I'd like to do a query returning some information from each
row of the inbox + some columns from the function pertinent to each row
returned.

I've tried the following on 7.4.6:

    t4=> select * from function_message_context(inbox.rowid), inbox;
    ERROR:  function expression in FROM may not refer to other
            relations of same query level

Is there a way I can get the function to provide some columns in the
query?

Thanks
Rory

--
Rory Campbell-Lange
<rory@campbell-lange.net>
<www.campbell-lange.net>

Re: Select from function for part of column results

From
"Oisin Glynn"
Date:
I have something simlar working on windows in V 8.0
My select loks like:

SELECT *,function_message_context(inbox.rowid) from inbox;

Hope this helps.

Oisin
----- Original Message -----
From: "Rory Campbell-Lange" <rory@campbell-lange.net>
To: "Postgresql General List" <pgsql-general@postgresql.org>
Sent: Thursday, February 03, 2005 15:04
Subject: [GENERAL] Select from function for part of column results


> I've written a function to provide information relating to each row in
> an inbox. I'd like to do a query returning some information from each
> row of the inbox + some columns from the function pertinent to each row
> returned.
>
> I've tried the following on 7.4.6:
>
>     t4=> select * from function_message_context(inbox.rowid), inbox;
>     ERROR:  function expression in FROM may not refer to other
>             relations of same query level
>
> Is there a way I can get the function to provide some columns in the
> query?
>
> Thanks
> Rory
>
> --
> Rory Campbell-Lange
> <rory@campbell-lange.net>
> <www.campbell-lange.net>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
>                http://www.postgresql.org/docs/faq
>
>


Re: Select from function for part of column results

From
Rory Campbell-Lange
Date:
Hi Oisin

On 03/02/05, Oisin Glynn (me@oisinglynn.com) wrote:
> I have something simlar working on windows in V 8.0
> My select loks like:
>
> SELECT *,function_message_context(inbox.rowid) from inbox;

This works great for a function returning a single column. I'm not sure
how to do it with a function returning more than one column.

st4=> select *, fn_message_context(n_id) from inbox;
ERROR:  cannot display a value of type record

Rory

> ----- Original Message -----
> From: "Rory Campbell-Lange" <rory@campbell-lange.net>
> To: "Postgresql General List" <pgsql-general@postgresql.org>
> Sent: Thursday, February 03, 2005 15:04
> Subject: [GENERAL] Select from function for part of column results
>
> > I've written a function to provide information relating to each row in
> > an inbox. I'd like to do a query returning some information from each
> > row of the inbox + some columns from the function pertinent to each row
> > returned.
> >
> > I've tried the following on 7.4.6:
> >
> >     t4=> select * from function_message_context(inbox.rowid), inbox;
> >     ERROR:  function expression in FROM may not refer to other
> >             relations of same query level
> >
> > Is there a way I can get the function to provide some columns in the
> > query?

--
Rory Campbell-Lange
<rory@campbell-lange.net>
<www.campbell-lange.net>