Using column alias in WHERE clause?

From: August Detlefsen <augustd(at)energiesonline(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Subject: Using column alias in WHERE clause?
Date: 2003-03-07 19:17:16
Message-ID: 16609031.1047064636464.JavaMail.root@homer.codemagi.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Is it possible to reference a column alias in the WHERE clause?

I'd like to create a query something like this:

SELECT cust_id,
CASE WHEN TRIM(UPPER(cust_name)) LIKE TRIM(UPPER( 'Joe Jones' )) THEN '2'
--SAME NAME
WHEN TRIM(UPPER(alias)) LIKE TRIM(UPPER( '%Joe Jones%' )) THEN '1'
--EXISTING ALIAS
ELSE '0'
--NEW NAME
END AS name_test
FROM customer
WHERE cust_id = 1234
OR name_test > 0
ORDER BY name_test DESC

When I try it, I get: ERROR: Attribute "name_test" not found

If I remove name_test from the WHERE clause, the query still runs fine with name_test in the ORDER BY.

Is there a way to reference the alias in the Where clause as well? This is PostgreSQL 7.3.

Thanks,
August

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Achilleus Mantzios 2003-03-07 20:14:39 Hex Integer Input
Previous Message Tom Lane 2003-03-07 18:31:47 Re: problem with subselect