sql >> Databasteknik >  >> RDS >> Sqlserver

Använda fulltextsökning i SQL Server 2008 över flera tabeller, kolumner

Med hjälp av FREETEXTTABLE behöver du bara designa någon algoritm för att beräkna den sammanslagna rankningen för varje sammanfogad tabellresultat. Exemplet nedan snedvrider resultatet mot träffar från boktabellen.

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

Observera att jag förenklade ditt schema för det här exemplet.



  1. Hämtar länkad lista i MySQL-databas

  2. Att skapa en utlösare för infogning av underordnade tabeller returnerar ett förvirrande fel

  3. MySQL - hur man front pad postnummer med 0?

  4. Arbeta med JavaFX UI och JDBC Applications