SQL Server полнотекстовый поиск множественное значение содержит - PullRequest
1 голос
/ 09 ноября 2011

Я использую полнотекстовый поиск, чтобы найти строки, в которых есть слово рядом с другим словом, например:

select *
from mytable where
contains (mycolumn, 'someword1 near someword2')

С этого момента мой ввод будет представлять собой таблицу, например:

declare @words table  
( 
    word varchar(100) not null 
) 

insert into @words (word) values ('someword1') 
insert into @words (word) values ('someword2') 
insert into @words (word) values ('someword3') 

Можно ли переписать запрос, чтобы получить тот же результат, или мне нужно будет преобразовать строки @words в одну строку текста?

1 Ответ

1 голос
/ 09 ноября 2011

Как насчет этого:

declare @words table (word varchar(100) not null) 
insert into @words (word) values ('someword1') 
insert into @words (word) values ('someword2') 
insert into @words (word) values ('someword3') 

declare @q varchar(4000)
set @q = ''
select @q = @q + ' ~ ' + word from @words  -- join all words
set @q = substring(@q, 4, 4000)            -- remove the first ' ~ '

select *
  from mytable
 where contains (mycolumn, @q)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...