Sounds like a candidate for a fuzzy-search algorithm:http://sqlblindman.pastebin.com/f4fc1ccb5One option would be to concatenate all the columns using this function:if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[MatchText]') and xtype in (N'FN', N'IF', N'TF'))drop function [dbo].[MatchText]GOCREATE function MatchText (@InputString varchar (50))returns varchar (50)begin-- blindman, 7/2005-- --test parameters-- declare @InputString varchar(50)-- set @InputString = 'Bruce a. Lindman'declare @TempString varchar (50)declare @OutputString varchar (50)declare @CharNum integerdeclare @TestChar CHAR(1)--Convert to uppercase and remove noise charactersset @TempString = UPPER(@InputString)set @TempString = replace(@TempString, 'A', '')set @TempString = replace(@TempString, 'E', '')set @TempString = replace(@TempString, 'I', '')set @TempString = replace(@TempString, 'O', '')set @TempString = replace(@TempString, 'U', '')--Build @OutputString with only alphanumeric charactersset @CharNum = 1set @OutputString = ''while @CharNum <= len(@TempString) begin set @TestChar = substring(@TempString, @CharNum, 1) if (@TestChar between 'A' and 'Z') OR (@TestChar between '0' and '9') set @OutputString = @OutputString + @TestChar set @CharNum = @CharNum + 1 endreturn @OutputStringendGOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[CompareText]') and xtype in (N'FN', N'IF', N'TF'))drop function [dbo].[CompareText]GO
...and then apply the same function to the search string before running the CompareText function.________________________________________________If it is not practically useful, then it is practically useless.________________________________________________