3

我在 SQL Server 2008 中有这个查询

SELECT TOP 1000 * 
FROM Quotes 
INNER JOIN QuoteImages ON Quotes.Id = QuoteImages.QuoteId 
WHERE FREETEXT(QuoteText,'some text')

如何按最相关或最高排名对结果进行排序?

我已经阅读了 msdn 文档,但是看起来很复杂,我不知道如何创建复杂的存储过程。

4

1 回答 1

12

您应该使用FREETEXTTABLE(链接) 而不是FREETEXT

SELECT TOP 1000 Q.*, QI.*
FROM Quotes Q
INNER JOIN QuoteImages QI
    ON Q.Id = QI.QuoteId 
INNER JOIN FREETEXTTABLE(Quotes,QuoteText,'some text') FT
    ON Q.Id = FT.[Key]
ORDER BY RANK DESC
于 2013-07-01T19:20:19.153 回答