SQL Server - Как запросить таблицу на совпадения с ключевыми словами из другой таблицы? - PullRequest
0 голосов
/ 28 октября 2010

У меня есть две таблицы: Job и JobKeyword . JobKeyword содержит три поля: Id , JobId и Keyword , поэтому каждое Job имеет JobKeyword -s. Как я могу использовать полнотекстовый поиск SQL Server, чтобы он запрашивал таблицу заданий по ключевым словам из таблицы JobKeyword?

Это мой текущий SQL:

WITH JobRN AS 
(
    SELECT TOP (@End) searchTable.*, ROW_NUMBER() OVER (ORDER BY searchTable.RANK) AS RowNum
    FROM FREETEXTTABLE([Job], *, @Keywords) AS searchTable 
    ORDER BY RANK
)

SELECT * FROM [Job]
INNER JOIN JobRN ON Job.Id = JobRN.[Key]
WHERE RowNum BETWEEN @Start AND @End
ORDER BY [DATE]

В настоящее время выполняется поиск по всем полям в таблице заданий. Как я могу изменить его, чтобы он выполнял поиск по таблице JobKeyword (но, конечно, возвращал результаты Job)?

Спасибо.

1 Ответ

0 голосов
/ 01 ноября 2010

Я не большой со свободными текстовыми индексами, но так как никто не ответил.

Без подробностей это немного догадка, но похоже, что вы просто хотите заменить FREETEXTTABLE ([Job], *, @Keywords) с FREETEXTTABLE ([JobKeyword], *, @Keywords).

Но это предполагает, что на нем есть индекс свободного текста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...