Jake, You're getting into an area that has been wrestled with for years, and the true solutions are very, very complex. So your choices on implementation will depend on just far into the forest you want to go.
Do a Google search on "fuzzy name matching." You'll find links to academic white papers discussing types of algorithms that are used in some implementations. You'll also find a number of vendors selling specific software solutions to do this. Folks like the phone companies began working on this problem probably 30 years ago, for the directory software used by operators and others. I just looked into this subject for a client. In their case, we wrote some specific matching rules that fit their situation. We considered adding a "nicknames" table; but in their case, it seemed likely that most names in their database would have been entered as a person's full, formal name. We added soundex to the rules, and came up with our own ranking system for the matches. A word about SoundEx -- unless you keep the similarity factor set to return only very close matches, you'll get some incredibly bad attempts at matching. SoundEx would be more likely to catch typos, but would miss a lot of nickname variations. As I say, fuzzy name matching is a very large-scale software challenge that people have thrown millions of dollars at. You just have to determine what's practical for your needs. -- Thanks, Tom Tom McNeer MediumCool http://www.mediumcool.com 1735 Johnson Road NE Atlanta, GA 30306 404.589.0560 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Create Web Applications With ColdFusion MX7 & Flex 2. Build powerful, scalable RIAs. Free Trial http://www.adobe.com/products/coldfusion/flex2/ Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:272008 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4