Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> comp.databases.theory -> Re: Box query

Re: Box query

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Sat, 22 Apr 2006 02:33:05 GMT
Message-ID: <BBg2g.64017$VV4.1199224@ursa-nb00s0.nbnet.nb.ca>


J M Davitt wrote:

> Bob Badour wrote:
>

>> Mikito Harakiri wrote:
>>
>>> Mikito Harakiri wrote:
>>>
>>>> Given a set of n-dimensional boxes
>>>>
>>>> table boxes (
>>>>    dimension# integer,
>>>>    low   integer,
>>>>    high  integer
>>>> )
>>>>
>>>> find all the pairs that intersect...
>>>
>>>
>>>
>>>
>>> And those pairs supposed to be what? Right, box ids:
>>>
>>> table boxes (
>>>      *id*   integer,
>>>      dimension# integer,
>>>      low   integer,
>>>      high  integer
>>> )
>>>
>>
>> select b1.id as box1, b2.id as box2
>> from boxes b1, boxes b2
>> where b1.id < b2.id
>> and not exists (
>>     select 1 from boxes b3, boxes b4
>>     where b3.id = b1.id
>>     and b4.id = b2.id
>>     and b4.dimension# = b3.dimension#
>>     and (b4.high < b3.low or b4.low > b3.high)
>> )
>> group by 1, 2
>> ;

>
>
> Excellent! "not exists (no overlaps)." I like it. I was
> thinking "exists (all overlap)."
>
> I think
>
> and (b4.high <= b3.low or b4.low >= b3.high)
>
> prevents responses where the boxes abut each other; although
> not stated, I don't think that sharing part of an edge - even
> a single point - means that boxes intersect. I'm guessing
> the volume of the intersection s/b > 0.

Does a point intersect with itself? Received on Fri Apr 21 2006 - 21:33:05 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US