Re: Calculating a time
From: TC (no_at_email.here)
Date: 04/08/04
- Next message: RK: "Re: Date Time Difference"
- Previous message: Ruskin: "Re: defaulting a value in a field on current"
- In reply to: Jason: "Calculating a time"
- Messages sorted by: [ date ] [ thread ]
Date: Thu, 8 Apr 2004 14:03:08 +0930
So you want:
container material from to
1 A 4/1 4/6 (5 days)
1 B 4/7 4/9 (3 days)
1 - 4/10 4/13 (4 days)
1 A 4/14 4/20 (7 days)
Right?
I don't have Access on this pc, so I'm reluctant to propose the full sql,
without being able to test it. So let's take it bit by bit.
The next sql should give you the first three columns of output desired:
select a.container, a.material, a.date as "from"
from TheTable as a
where not exists
( select 1 from TheTable as x
where x.container = a.container
and x.material = a.material
and x.date = a.date - 1 )
If that works, the next version will hopefully add the final column:
select a.container, a.material, a.date as "from", max(b.date) as "to"
from TheTable as a, TheTable as b
where not exists
( select 1 from TheTable as x
where x.container = a.container
and x.material = a.material
and x.date = a.date - 1 )
and b.container = a.container
and b.material = a.material
and not exists
( select 1 from TheTable as x
where x.container = b.container
and x.material = b.material
and x.date = b.date + 1 )
If the last version gets a syntax error, try adding this line as the very
last line:
group by a.container, a.material, a.date
HTH!,
TC
"Jason" <anonymous@discussions.microsoft.com> wrote in message
news:19c2d01c41d09$2faa0800$a501280a@phx.gbl...
> I have a table that stores container contents on a daily
> basis. The fields of the table are:
> ID (autonumber)
> Date
> Shift (Day or Night)
> Container
> Material
>
> I would like a query that will tell me how long a
> particular container was filled with a particular
> material.
>
> For example, if Container 1 contained material A from
> 4/1 - 4/6, I'd like to see a result of 5 days. The
> problem is that a given container might contain material
> A for 5 days, then material B for 3 days, then be empty
> of 4 days, then contain material A again for another 7
> days. I tried using a totals query with a min & max
> function, but then the result of the above example is
> that container 1 held material A for 12 days, B for 3
> days, and empty for 4 days. I want the two separate
> instances for material A separated.
>
> Any ideas?
>
> Thanks in advance,
>
> Jason
>
- Next message: RK: "Re: Date Time Difference"
- Previous message: Ruskin: "Re: defaulting a value in a field on current"
- In reply to: Jason: "Calculating a time"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|