sql >> Databáze >  >> RDS >> Sqlserver

Použití fulltextového vyhledávání v SQL Server 2008 ve více tabulkách, sloupcích

Pomocí FREETEXTTABLE stačí navrhnout nějaký algoritmus pro výpočet sloučeného pořadí na každém výsledku spojené tabulky. Níže uvedený příklad zkresluje výsledek směrem k hitům ​​z tabulky knihy.

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

Všimněte si, že jsem pro tento příklad zjednodušil vaše schéma.



  1. Hranice slov PostgreSQL Regex?

  2. Existuje ekvivalent Profileru pro MySql?

  3. Zkraťte (ne zaokrouhlujte) desetinná místa v SQL Server

  4. MySQL:Vyberte náhodný záznam, ale váhu vůči určitým záznamům