Re: Column alias in where clause?

From: Martijn van Oosterhout <kleptog(at)svana(dot)org>
To: Jeff Ross <jross(at)wykids(dot)org>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Column alias in where clause?
Date: 2008-08-13 17:12:12
Message-ID: 20080813171212.GC2958@svana.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Wed, Aug 13, 2008 at 10:47:17AM -0600, Jeff Ross wrote:
> I'm a little confused about how to use a column alias in the where
> clause of a query. I'm sure the answer is something simple, but I
> haven't found anything searching through Google or from reading the docs.

You can't. Conceptually, the result of the SELECT is not visible until
*after* the WHERE clause has executed, so having the where clause
depend on the select won't work.

What you can do is put the CASE stuff in a subquery:

SELECT * FROM
(SELECT fc_facility_id, fc_name, CASE ...etc... )
WHERE fc_director_name ilike ('%Cobb%');

This way the inner select is done first, calculating the fields you
want, then the outer select can use the result.

Have a nice day,
--
Martijn van Oosterhout <kleptog(at)svana(dot)org> http://svana.org/kleptog/
> Please line up in a tree and maintain the heap invariant while
> boarding. Thank you for flying nlogn airlines.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Kevin Hunter 2008-08-13 17:16:03 Re: automatic REINDEX-ing
Previous Message Kevin Hunter 2008-08-13 17:03:48 Re: psql tutorial