It just occurred to me. The purpose of normalizing the information and having it stored on two separate tables is defeated if I have another table that contains the same information but in an un-normalized fashion. I would end up with two copies of the same information, one normalized but not ready to be used by aggregate functions and another un-normalized table kept up to date with triggers and ready to be used by aggregate functions. Right? :-/ So that leaves the temporary table solution on the front end or views on the back end. Any thoughts?