2012-08-25 46 views
1

考虑这个如何找出搜索关键词的全文本搜索发现

SELECT * 
FROM Publication a   
INNER JOIN CONTAINSTABLE(Publication, (Title, Keywords), 
@TitlePartial)TitleSearchPartial ON a.Id = TitleSearchPartial.[Key] 

我正在寻找在(TitleKeyword)的Publication表的列。 搜索关键字可以在“标题”或“关键字”中的任何位置找到 如何找到搜索关键字在哪个列中找到?有没有一种现成的方式来做到这一点?

任何想法...

回答

0

你可以尝试这样的事:

SELECT *, 
    CASE 
     WHEN b.[Key] IS NOT NULL THEN 'Title' 
     WHEN c.[Key] IS NOT NULL THEN 'Keywords' 
     END AS MatchColumn 
FROM Publication a 
    LEFT JOIN CONTAINSTABLE(Publication, Title, @TitlePartial) b 
     ON a.Id = b.[Key] 
    LEFT JOIN CONTAINSTABLE(Publication, Keywords, @TitlePartial) c 
     ON a.Id = c.[Key] 
WHERE (b.[Key] IS NOT NULL 
     OR c.[Key] IS NOT NULL) 

您可能需要添加另一种情况为两列匹配。另外,不幸的是,我现在无法对此进行测试。