you might rethink the union option as it sounds that the ContactCallDetail and AgentConnectionDetail are related and may actually be overlapping data. I am guessing that the contact call data is 'master' record and the agent data is sub parts of the contact that shows if a contact was transferred to multiple agents during one contact. Is this accurate?
If so, one question is can there be an agent row of data that has no corresponding contact row or vice versa? If not, your union porcess is not needed and will likely confuse your results.