You need a third-party product to do this -- start with USPS. Zip codes do not map easily to cities or counties (nor even to states, I think) and you end up with many-to-many matches.