This would be far easier if instead of ACTIONS in a history table, what you maintained was EFFECTIVE AND EXPIRY dates for the record. Then you can see a snapshot of what the records looked like just by querying it where the date you are looking for is between effective and expiry.