Re: How to select the <= date row?
From: Steve Long <answers_at_ix.netcom.com>
Date: 1996/06/06
Message-ID: <4p6nue$gq_at_sjx-ixn6.ix.netcom.com>
and ...
In <N.060696.151009.56_at_mickey.iafrica.com> stefanbm_at_iafrica.com (Stefan Mahs) writes:
>
>Hi there, I would appreciate it if you could give me some ideas on the
>Specific info about each event is logged in a set of event-specific >tables. The result of this is that not all the tables get a new row for
>was at any particular point in time. This means supplying at least a date
>at which the policy's value should be retrieved, say 1 Jan 1995. Normaly
>one would just join all the tables policy number, but in this case there
>may not be row for the specified date in one or more of the related event
>specific tables. In this case I need to get the row for the closesed >previous date. The row with the largest date less than or equal to the
>specified date, is the one that was still in force at the specified date.
> single SQL statement (unless Business Objects can build a report from
Date: 1996/06/06
Message-ID: <4p6nue$gq_at_sjx-ixn6.ix.netcom.com>
prt.policy_id = &policy_id and prt.dts = &given_date and p.policy_id = prt.policy_id and rt1.rowid = prt.dt1_rid and rt2.rowid = prt.dt2_rid
and ...
Hope this helps.
Steve
804-262-6332
In <N.060696.151009.56_at_mickey.iafrica.com> stefanbm_at_iafrica.com (Stefan Mahs) writes:
>
>Hi there, I would appreciate it if you could give me some ideas on the
>following problem: > >I have a couple of tables related to each other and they store time >variant data. The "main table" contains event info. All the general >details of any event that effects the value of a policy are loggedhere.
>Specific info about each event is logged in a set of event-specific >tables. The result of this is that not all the tables get a new row for
>every event that is logged in the "main table". > >I need to get the complete status of a policy, or set of policies, asit
>was at any particular point in time. This means supplying at least a date
>at which the policy's value should be retrieved, say 1 Jan 1995. Normaly
>one would just join all the tables policy number, but in this case there
>may not be row for the specified date in one or more of the related event
>specific tables. In this case I need to get the row for the closesed >previous date. The row with the largest date less than or equal to the
>specified date, is the one that was still in force at the specified date.
> >Two things make this a particularly challenging problem: > > 1) This query has to be done from a query tool, so we are restrictedto a
> single SQL statement (unless Business Objects can build a report from
> more than one SQL statement). > >2) Selecting the max(specified_date) where event_date <=specified_date
> works fine, but it will take a couple of days to wade through 40 > million rows. > >e.g.: >Main_Event_Tbl Event_A_Tbl Event_B_Tbl >-------------- ----------- ----------- >95/01/01 95/01/01 >95/02/01 95/02/01 >95/03/01 95/03/01 >Received on Thu Jun 06 1996 - 00:00:00 CEST