Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Korzystanie z wyszukiwania pełnotekstowego w SQL Server 2008 w wielu tabelach, kolumnach

Używając FREETEXTTABLE, wystarczy zaprojektować algorytm do obliczania połączonej rangi dla każdego wyniku połączonej tabeli. Poniższy przykład przekrzywia wynik w kierunku trafień z tabeli książek.

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

Zauważ, że uprościłem schemat do tego przykładu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rozważania dotyczące bezpieczeństwa SQL Server

  2. Eksportuj dane tabeli z jednego serwera SQL do drugiego

  3. Zapytanie w wielu bazach danych na tym samym serwerze

  4. LEFT JOIN vs. LEFT JOIN w SQL Server

  5. Konwertuj czas dziesiętny na godziny i minuty