Về cơ bản tôi có một bảng như thế này:Cách truy vấn cơ sở dữ liệu SQL Server 2008 cho họ và tên và thứ tự theo mức độ liên quan?
CREATE TABLE Person(
PersonID int IDENTITY(1,1) NOT NULL,
FirstName nvarchar(512) NOT NULL,
LastName nvarchar(512) NULL
)
Và tôi cần phải tìm đầu n kết quả dựa trên một người dùng truy vấn như thế này:
"Joh Smi"
Các truy vấn sau đây trả về kết quả Tôi cần (tôi nghĩ). Chỉ cần không theo thứ tự liên quan.
SELECT
PersonID, FirstName, LastName
FROM
Person
WHERE
FirstName LIKE 'Joh%' OR
LastName LIKE 'Joh%' OR
FirstName LIKE 'Smi%' OR
LastName LIKE 'Smi%'
Nếu những tên sau đây là trong cơ sở dữ liệu và sử dụng truy vấn của chúng tôi là "Joh Smi" tên sẽ xuất hiện theo thứ tự sau (hoặc tương đương)
- John Smith
- Johnny Smith
- John Jacob
- David Smithsonian
- Daniel Johnson
Tôi hy vọng sẽ làm cho nó hoạt động tương tự như tìm kiếm bạn bè tự động hoàn thành của facebook.
Vì vậy, làm cách nào để trả lại các hàng n hàng có liên quan nhất trong SQL Server 2008?
Yêu thích danh sách. Nhưng truy vấn/hàm SQL trông như thế nào? :-) –
này, đã gần 2 giờ sáng, tôi muốn ngủ :) – Andrey
haha. ok ok ... Tôi sẽ cho bạn nghỉ ngơi. –