Just wanted to provide additional information on the Overflow Error.
In addition to making sure your joins are properly done, whenever Aggregating Queries ALWAYS remember to filter out Nulls and Errors from the field being Aggregated.
In your table design, if you are certain that a field will be used for aggregation you can set up the default values for that field. For example Numeric field can be defaulted to 0 and I usually default date fields to Date() so during testing it won't be such a pain to debug.