sql >> Database teknologi >  >> RDS >> Sqlserver

Brug af fuldtekstsøgning i SQL Server 2008 på tværs af flere tabeller, kolonner

Ved at bruge FREETEXTTABLE skal du bare designe en eller anden algoritme til at beregne den flettede rangering på hvert sammenføjet tabelresultat. Eksemplet nedenfor skæver resultatet mod hits fra bogbordet.

SELECT b.Name, a.Name, bkt.[Rank] + akt.[Rank]/2 AS [Rank]
FROM Book b
INNER JOIN Author a ON b.AuthorID = a.AuthorID
INNER JOIN FREETEXTTABLE(Book, Name, @criteria) bkt ON b.ContentID = bkt.[Key] 
LEFT JOIN FREETEXTTABLE(Author, Name, @criteria) akt ON a.AuthorID = akt.[Key]
ORDER BY [Rank] DESC

Bemærk, at jeg forenklede dit skema til dette eksempel.



  1. Regulært udtryk i PostgreSQL LIKE-sætning

  2. Sådan vælger du poster fra de sidste 24 timer i PostgreSQL

  3. Viser billede i Ireports ved hjælp af PostgreSql

  4. Opret ny tabel i eksisterende DB i separat SQLiteOpenHelper-klasse