pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tomasz Myrta <jasiek@klaster.net>
To: Ryan <pgsql-sql@seahat.com>
Cc: pgsql-sql@postgresql.org
Subject: Re: column label
Date: Mon, 24 Mar 2003 10:33:25 +0100
Message-ID: <3E7ED0E5.2060300@klaster.net> (raw)
In-Reply-To: <10814.65.102.128.233.1048280104.squirrel@fordparts.com>
References: <10814.65.102.128.233.1048280104.squirrel@fordparts.com>

Uz.ytkownik Ryan napisa?:
> Ok I have a query in a program that looks something like this
> 
> select
>  reference_number as foo,
>  '(10,10)'::point <-> point(x,y) as distance
> from imagemap
>  where
>   index_number = '2322' and
>   block_number = '140'
>  order by distance
>  limit 1;
> 
> I wanted to add a clause in where 'and distance < 30'
> but according to the postgres manual it says I cannot do that for WHERE or
> HAVING clauses, instead use the real name.
> 
> However dropping the 'as distance' from my query gives me a column name of
> '?column?' which happens to not be worth a dang thing.
> 
> How can it be done?
> 
> (I suddenly have a feeling its going to require a subselect)
Your feeling is 50% accurate. If you want to use subselect, throw "<10" 
into this subselect, because you will have performance loss.

You can also use whole function in where clause and order by:
  select
   reference_number as foo,
   '(10,10)'::point <-> point(x,y) as distance
  from imagemap
   where
    index_number = '2322' and
    block_number = '140'
   where '(10,10)'::point <-> point(x,y)<10
   order by '(10,10)'::point <-> point(x,y)
   limit 1;

BTW Did you try to use polygons in your image maps, or you have rather 
point oriented web page than area oriented?

Regards,
Tomasz Myrta




view thread (4+ messages)  latest in thread

Message-ID: <3E7ED0E5.2060300@klaster.net>
Permalink:  ../3E7ED0E5.2060300@klaster.net/
Also on:    postgresql.org/message-id/3E7ED0E5.2060300@klaster.net

 · 

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: jasiek@klaster.net, pgsql-sql@seahat.com
  Subject: Re: column label
  In-Reply-To: <3E7ED0E5.2060300@klaster.net>

* 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