I should have realized that from your example solution. I *ASSuMEd* we were totalling hours. My bad.
SELECT Consumer.*, Status.*, Hours.AppHours FROM Consumer JOIN Status on Consumer.ConPK=Status.ConFK JOIN Hours on Consumer.ConPK=Hours.ConFK WHERE Status.Date = (SELECT MAX(Stat2.Date) FROM Status Stat2 WHERE Stat2.ConFK = Consumer.ConPK GROUP BY Stat2.ConFK) AND Status.Type = "Approved" AND Hours.Date = Status.Date
Better, but there is no guarantee that Hours.Date will equal Status.Date.
The results have to total the most recent hours records belonging to Consumers whose most recent Status is "Approved".
And my testing indicates that a GROUP BY clause is required somewhere.
I'm wondering if this will turn out to be np-hard and my original multi-query approach is the only way to do this.
Thanks.
Ken