sql >> Database >  >> RDS >> Sqlserver

Zoeken in volledige tekst gebruiken in SQL Server 2008 voor meerdere tabellen, kolommen

Als u FREETEXTTABLE gebruikt, hoeft u alleen maar een algoritme te ontwerpen om de samengevoegde rangorde voor elk samengevoegd tabelresultaat te berekenen. In het onderstaande voorbeeld wordt het resultaat scheefgetrokken in de richting van hits uit de boekentabel.

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

Merk op dat ik je schema voor dit voorbeeld heb vereenvoudigd.



  1. De OID van een tabel in Postgres 9.1 bepalen?

  2. 911/112:een gegevensmodel voor noodoproepen

  3. Oracle JDeveloper 12c gebruiken met Oracle Database 12c op Oracle Cloud Platform, deel 2

  4. Manieren om verwijderde database bij te houden in SQL Server