Uwe Schroeder, 26.01.2011 08:34:
I have a query like this:

SELECT a,b,c, (select problem from other_table where id=a) as problem FROM
mytable WHERE a=1

So far so good. Actually "problem" always resolves to one record, so it's not
the "multiple records returned" problem.

What I try to do is this:

SELECT a,b,c, (select problem from other_table where id=a) as problem FROM
mytable WHERE a=1 and problem = 3

see the "problem=3" part in the where clause? The error I get is

  SQLError: (ProgrammingError) column "problem" does not exist

You need to wrap the whole SELECT in order to be able to use the column alias:

SELECT *
FROM (
  SELECT a,
         b,
         c,
         (select problem from other_table where id=a) as problem
  FROM mytable
) t
WHERE a=1
  AND problem = 3

Regards
Thomas


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to