2010-01-29 5 views
0

J'ai 2 tables nsk_UserInfo et Photos. J'utilise la requête de recherche en texte intégral pour montrer résultatProblème de recherche plein texte

SELECT nsk_UserInfo.User_ID 
     , nsk_UserInfo.Name 
     , nsk_UserInfo.Contact_Person 
     , nsk_UserInfo.Address, Photos.Photo1 as 'Photo' 
FROM nsk_UserInfo INNER JOIN Photos ON nsk_UserInfo.User_ID = Photos.User_ID 
WHERE FREETEXT ((nsk_UserInfo.*), 'My search term') 

cette requête montre résultat mais pas donner la préférence à enregistrement (ligne). que puis-je faire? est-il question correcte ou y a-t-il des changements? S'il vous plaît aidez-moi. C'est urgent.

Merci Naresh

+0

Qu'entendez-vous par "donner la préférence à l'enregistrement (ligne)"? – APC

Répondre

1

Pour obtenir le rang, vous devez utiliser FREETEXTTABLE(). Quelque chose comme ceci:

SELECT nsk_UserInfo.User_ID, 
     nsk_UserInfo.Name, 
     nsk_UserInfo.Contact_Person, 
     nsk_UserInfo.Address, 
     Photos.Photo1 as Photo, 
     KeyTable.RANK 
FROM nsk_UserInfo 
    INNER JOIN Photos 
    ON nsk_UserInfo.User_ID = Photos.User_ID 
    INNER JOIN FREETEXTTABLE((nsk_UserInfo.*), 'My search term') AS KeyTable 
    ON nsk_UserInfo.User_ID = KeyTable.[KEY] 
ORDER BY KeyTable.RANK DESC; 

Voir plus d'infos sur http://msdn.microsoft.com/en-us/library/ms142583.aspx.