Jim, Call the two lines A and B. Then there is NO overlap if max(A)<min(B) OR max(B)<min(A)
Which is to say if A is altogether to the left of B or vice versa. Bill Cook Kent WA USA ----- Original Message ----- From: "Jim Blackburn" <[EMAIL PROTECTED]> To: "Rbase-L@Sonetmail. Com" <[EMAIL PROTECTED]> Sent: Tuesday, January 15, 2002 4:20 PM Subject: Rule puzzle > I am trying to craft a rule and can not get it. I have a table: > TagLimits > For a fishery, and year, the number of crab pots allowed, > which depends on the size of the vessel. > Columns and proper entries: > YearNo Fishery MinSize MaxSize NoPots > 2002 KR 0.0 125.4 50 > 2002 KR 125.5 999.0 75 > > The important idea is that for a given fishery and year the range of sizes in successive rows not overlap. I would like to prevent the following third row: > 2002 KR 0.0 999.0 44 > > This one looks good but will not load - it gets an error message: This Rule's WHERE Clause is invalid > rule 'This Vessel Size in this Fishery is Keyed'+ > for TagLimit FAILS+ > WHERE exist (select (YearNo) from TagLimit t2 WHERE+ > t2.Fishery = TagLimit.Fishery and t2.YearNo = TagLimit.YearNo+ > and (TagLimit.MinSize between T2.MinSize and T2.MaxSize or > TagLimit.MaxSize between T2.MinSize and T2.MaxSize) ) > > Any ideas gratefully appreciated? > > It is mid-January, clear blue sky(first clear day in many weeks), no wind (first in weeks), mid-40's (6-7 degrees C) and a crab fishery started today - second in a decade! > > Jim Blackburn > Kodiak > ================================================ > TO SEE MESSAGE POSTING GUIDELINES: > Send a plain text email to [EMAIL PROTECTED] > In the message body, put just two words: INTRO rbase-l > ================================================ > TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED] > In the message body, put just two words: UNSUBSCRIBE rbase-l ================================================ TO SEE MESSAGE POSTING GUIDELINES: Send a plain text email to [EMAIL PROTECTED] In the message body, put just two words: INTRO rbase-l ================================================ TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED] In the message body, put just two words: UNSUBSCRIBE rbase-l
