КРЕСТ ПРИМЕНИТЕ БЕСПЛАТНО
MS SQL Server 2005: таблица 1 имеет полнотекстовый индекс. Я хочу выполнить несколько запросов на поиск в свободном тексте за один запрос, но две попытки у меня закончились неудачей. любая помощь будет оценена, спасибо! PS готов обновить до SQL 2008, если это исправит:)
CREATE FUNCTION fnt_FullTextSearch ( @s NVARCHAR(4000) )
RETURNS TABLE
AS
RETURN
( SELECT [key], [rank]
FROM FREETEXTTABLE(table1, *, @s) )
DECLARE @terms TABLE ( term VARCHAR(MAX) )
INSERT INTO @terms VALUES ( 'flu' )
INSERT INTO @terms VALUES ( 'acid' )
-- The inline function "..." cannot
-- take correlated parameters or subqueries
-- because it uses a full-text operator.
SELECT ft.[key], ft.[rank]
FROM @terms
CROSS APPLY fnt_FullTextSearch(term) ft
--syntax error on term
SELECT ft.[key], ft.[rank]
FROM @terms
CROSS APPLY FREETEXTTABLE(table1, *, term)
1 ответ
Может быть, потому что вы пропустили псевдоним во втором утверждении?
SELECT FT.[key], FT.[rank]
FROM @terms
CROSS APPLY FREETEXTTABLE(table1, *, term) FT
Это звучит тривиально... но я не вижу никакой другой причины, почему он должен потерпеть неудачу!