pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Scott Marlowe <smarlowe@g2switchworks.com>
To: Bill Lawrence <bill.lawrence@cox.net>
Cc: PFC <lists@boutiquenumerique.com>
Cc: pgsql-sql@postgresql.org
Subject: Re: Getting the output of a function used in a where clause
Date: Tue, 12 Apr 2005 08:55:23 -0500
Message-ID: <1113314123.20921.117.camel@state.g2switchworks.com> (raw)
In-Reply-To: <NEBBJBFOALCOMIDOAMHCIEMGDAAA.bill.lawrence@cox.net>
References: <NEBBJBFOALCOMIDOAMHCIEMGDAAA.bill.lawrence@cox.net>

Why not just do:

SELECT zipcode, zipdist($lat1d,$lon1d,lat,long) as distance from
zipcodes where zipdist($lat1d,$lon1d,lat,long) <= $dist;";


On Mon, 2005-04-11 at 20:25, Bill Lawrence wrote:
> Boy I sure thought that would work... I received the following from postgres:
> 
> ERROR:  Attribute "distance" not found.
> 
> Started looking into gist.... Looks complex.
> 
> Any other ideas?
> 
> 
> -----Original Message-----
> From: PFC [mailto:lists@boutiquenumerique.com]
> Sent: Monday, April 11, 2005 1:51 AM
> To: Bill Lawrence; pgsql-sql@postgresql.org
> Subject: Re: [SQL] Getting the output of a function used in a where clause
> 
> 
> try:
> 
> SELECT zipcode, zipdist($lat1d,$lon1d,lat,long) as distance from zipcodes 
> where distance <= $dist;";
> 
> OR you could use a gist index with a geometric datatype to get it a lot 
> faster.
> 
> 
> On Sat, 09 Apr 2005 03:43:39 +0200, Bill Lawrence <bill.lawrence@cox.net> 
> wrote:
> 
> > HI,
> >
> > I'm a newbie so please bear with me. I have a function defined (got it 
> > from
> > one of your threads... thanks Joe Conway) which calculates the distance
> > between 2 zip code centeroids (in lat,long). This thing works great.
> > However, I want to sort my results by distance without incurring the
> > additional burden of executing the function twice. A simplified version 
> > of
> > my current SQL (written in a perl cgi)  that returns a set of zip codes
> > within a given radius is:
> >
> >
> > What I want to write is something like:
> >
> > $sql = "SELECT zipcode, distance from zipcodes where distance <= $dist 
> > order
> > by distance;";
> >
> > But I don't the magic SQL phrase to populate the distance variable using 
> > my
> > nifty function. Do I need to create an output type for distance?
> >
> > Thanks in advance!
> >
> > Bill
> >
> >
> >
> 
> 
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 7: don't forget to increase your free space map settings



view thread (10+ messages)  latest in thread

Message-ID: <1113314123.20921.117.camel@state.g2switchworks.com>
Permalink:  ../1113314123.20921.117.camel@state.g2switchworks.com/
Also on:    postgresql.org/message-id/1113314123.20921.117.camel@state.g2switchworks.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: smarlowe@g2switchworks.com, bill.lawrence@cox.net, lists@boutiquenumerique.com
  Subject: Re: Getting the output of a function used in a where clause
  In-Reply-To: <1113314123.20921.117.camel@state.g2switchworks.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox