Re: Reuse previously calculated column in sql query?

From: "Iain" <iain(at)mst(dot)co(dot)jp>
To: "Rod Taylor" <pg(at)rbt(dot)ca>, "Philippe Lang" <philippe(dot)lang(at)attiksystem(dot)ch>
Cc: <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Reuse previously calculated column in sql query?
Date: 2004-10-21 01:31:00
Message-ID: 008f01c4b70d$a22184a0$7201a8c0@mst1x5r347kymb
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Using the the sub-select is one way, but there is another way.

If the function can be declared as strict or immutable the you can call it
as many times as you like in a single transaction and it will only be
evaluated once. As far as I know this does work as advertised.

Check the SQL commands reference section of the manual for CREATE FUNCTION

Regards
Iain
----- Original Message -----
From: "Rod Taylor" <pg(at)rbt(dot)ca>
To: "Philippe Lang" <philippe(dot)lang(at)attiksystem(dot)ch>
Cc: <pgsql-sql(at)postgresql(dot)org>
Sent: Wednesday, October 20, 2004 10:05 PM
Subject: Re: [SQL] Reuse previously calculated column in sql query?

> On Wed, 2004-10-20 at 08:50, Philippe Lang wrote:
>> Hello,
>>
>> Is it possible to reuse a previously calculated column in a following
>> column, like:
>
> SELECT col1
> , col2
> , col2 * 0.75 AS col3
> FROM (SELECT foo.val1 AS col1
> , long_calculation(foo.val1) AS col2
> FROM foo) AS tab;
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faqs/FAQ.html

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message sad 2004-10-21 11:58:35 Offtopic: psql
Previous Message Gifford Hesketh 2004-10-20 22:03:22 "copy from" in "create function"