I think you need to rethink how you are storing your data in the database. (If it is relational I mean.) If you stored a unique_id for Dr. Balfour, this would be a trivial issue of joining several tables on his id. And, while you might be somewhat successful at doing some complex merge, typos, data-entry and human errors will futher corrupt your best algorithm ( ie. how will you verify the data you distill? -- Hence the old adage about garbage in, garbage out ). I think the answer is much simpler to add keys to your existing data and normalize it so that you can use the power of a relational database. That is the whole reason they were invented IMHO.
Cheers,
JamesNC