| From: | Bryce Nesbitt <bryce1(at)obviously(dot)com> |
|---|---|
| To: | pgsql-sql(at)postgresql(dot)org |
| Subject: | Re: Can function results be used in WHERE? |
| Date: | 2006-07-11 00:24:28 |
| Message-ID: | 44B2EFBC.1090201@obviously.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-sql |
Aaron Bono wrote:
>
>
> On 7/10/06, *Bryce Nesbitt* <bryce1(at)obviously(dot)com
> <mailto:bryce1(at)obviously(dot)com>> wrote:
>
>
> I think it is ugly also, but no other syntax seems to work:
>
> stage=# select
> pod_code,lat,lon,calculate_distance(lat,lon,37.789629,-122.422082) as
> dist from eg_pod where dist < 1 order by dist desc limit 10;
> ERROR: column "dist" does not exist
>
>
> SELECT
> pod_code,
> lat,
> lon,
> calculate_distance(lat,lon,37.789629,-122.422082) as dist
> FROM eg_pod
> WHERE calculate_distance(lat,lon, 37.789629,-122.422082) < 1
> ORDER BY calculate_distance(lat,lon,37.789629,-122.422082) desc limit 10;
Yep, that works. I guess with IMMUTABLE it's even effecient.
But I have to pass 6 arguments, not 2. Is there a way to make it look
cleaner?
I had expected using the column label (e.g. "dist") to work with WHERE,
just as it does with ORDER BY.
-Bryce
--
----
Visit http://www.obviously.com/
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Phillip Smith | 2006-07-11 00:30:21 | Re: Select Maths |
| Previous Message | Chris Browne | 2006-07-11 00:12:51 | Re: MS-SQL<->Postgres sync |