2009-10-19 7 views
2

J'essaie d'utiliser ContainsTable pour renvoyer une liste de résultats classés.SQL Server ContainsTable ne trouve pas de correspondance partielle

Je l'ai bien fonctionner quand il trouve un mot entier mais il ne semble pas fonctionner pour des mots partiels. Par exemple, si je recherche 'acq', il ne trouvera pas 'Acquisitions'. J'ai vraiment besoin de travailler avec des correspondances partielles pour que ça soit utile. L'utilisation de "J'aime" n'est pas une option car les résultats doivent être pondérés.

SELECT 
    TitleRanks.RANK, 
    CourseId, 
    CourseTitle   
FROM 
    TBL_LMS_CLIENT_COURSES as Courses 
    INNER JOIN CONTAINSTABLE(Courses,CourseTitle,'acq') AS TitleRanks 
     ON Courses.CourseId = TitleRanks.[key]  

Toutes les idées seraient géniales.

Merci

Répondre

5

Est-ce que le scénario vous empêchez l'aide d'un terme préfixe dans la clause contains?

INNER JOIN CONTAINSTABLE(Courses,CourseTitle,'"acq*"') 
+0

Cest une option, je préfère une solution qui avait l'air à chaque mot et fait un contient mais il semble que des thats en dehors du champ d'application et FreeText lourdes à mettre en œuvre. – Gavin

Questions connexes