Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Sử dụng Tìm kiếm Toàn văn trong SQL Server 2008 trên nhiều bảng, cột

Sử dụng FREETEXTTABLE, bạn chỉ cần thiết kế một số thuật toán để tính toán xếp hạng được hợp nhất trên mỗi kết quả bảng được kết hợp. Ví dụ dưới đây nghiêng kết quả về số lượt truy cập từ bảng sách.

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

Lưu ý rằng tôi đã đơn giản hóa giản đồ của bạn cho ví dụ này.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các truy vấn được thực thi lần cuối cho một cơ sở dữ liệu cụ thể

  2. Sự khác biệt giữa JOIN và INNER JOIN

  3. Làm cách nào để kết nối với SQL Server qua sqlalchemy bằng Windows Authentication?

  4. Hướng dẫn đơn giản về cách sử dụng truy vấn con trong SQL Server

  5. Danh sách các hàm ngày và giờ trong SQL Server (T-SQL)