From: | "Ryan" <pgsql-sql(at)seahat(dot)com> |
---|---|
To: | <jasiek(at)klaster(dot)net> |
Cc: | <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: column label |
Date: | 2003-03-25 14:50:28 |
Message-ID: | 10479.65.102.128.233.1048603828.squirrel@fordparts.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
> 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
Thats kind of a pain... I'd rather perform the calculation once and then
do my order and where on the one value. Is there any reason why postgres
does not recognize labels under WHERE?
The reason I use points is because my customized web-based image
mapping/ocr program can deal with points very aptly. Also with a distance
based calc overlap is not really an issue as with polygons. The reason I
am trying to limit the distance is simply to cut out clicking on far away
parts of the image. Heck, I could check distance on the program side of
things but I try and keep as much in SQL as possible.
Ryan
From | Date | Subject | |
---|---|---|---|
Next Message | Atul Pedgaonkar | 2003-03-25 15:10:21 | Re: How to increase Column width of table |
Previous Message | Liang Luo | 2003-03-25 14:38:40 | How to show timestamp with milliseconds(3 digits) in Select clause in Ver7.1 ? |