Re: SELECT based on function result

From: Edmund Bacon <ebacon(at)SpamMeNot(dot)onesystem(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: SELECT based on function result
Date: 2004-07-15 21:24:53
Message-ID: FCCJc.32412$Mr4.6545@pd7tw1no
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Robert Fitzpatrick wrote:

> I have a function that tells me if a record is positive and negative
> based on several field values. I use it in select statements:
>
> ohc=> SELECT sample_id, is_wipe_positive(tblleadwipe.sample_id) AS
> positive FROM tblleadwipe WHERE hud_building_id IS NOT NULL;
> sample_id | positive
> -----------+----------
> 73 | f
> 81 | t
> (2 rows)
>
> I see that I cannot change my WHERE statement to WHERE positive = 't'
> because the column positive does not exist. Now I am looking for the
> best way to return all records that are found positive or negative using
> a query. Can anyone offer any guidance to how I can return all the
> positives (or negatvies)? Or do I need to write another function that
> does that?
>
> --
> Robert
>

Any reason why:

SELECT sample_id, positive
FROM (SELECT sample_id,
is_wipe_positive(tblleadwipe.sample_id) AS positive
FROM tblleadwipe
WHERE hud_building_id IS NOT NULL) foo
WHERE positive = 't';

won't work?

>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
> joining column's datatypes do not match

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Peter Eisentraut 2004-07-15 21:32:38 Re: moving an installation
Previous Message CSN 2004-07-15 21:16:08 cd, ls, mkdir, rmdir, etc.