Básicamente tengo una tabla como la siguiente:¿Cómo consultar la base de datos de SQL Server 2008 para buscar el nombre y apellido y ordenar por relevancia?
CREATE TABLE Person(
PersonID int IDENTITY(1,1) NOT NULL,
FirstName nvarchar(512) NOT NULL,
LastName nvarchar(512) NULL
)
y necesito encontrar los mejores n resultados basados en un usuario-consulta como esta:
"Joh Smi"
la siguiente consulta devuelve los resultados Necesito (creo) Simplemente no en el orden relevante.
SELECT
PersonID, FirstName, LastName
FROM
Person
WHERE
FirstName LIKE 'Joh%' OR
LastName LIKE 'Joh%' OR
FirstName LIKE 'Smi%' OR
LastName LIKE 'Smi%'
Si los siguientes nombres estaban en la base de datos y nuestra facilidad de consulta fue "Joh SMI" los nombres deben aparecer en el siguiente orden (o similar)
- John Smith
- Johnny Smith
- John Jacob
- David Smithsonian
- Daniel Johnson
Espero hacerlo funcionar de forma similar a la búsqueda de amigos de autocompletar de Facebook.
Entonces, ¿cómo devuelvo las filas más relevantes n en SQL Server 2008?
Me encanta la lista. ¿Pero cómo sería la consulta/función SQL? :-) –
hey, son casi las 2 de la mañana aquí, quiero dormir :) – Andrey
jaja. ok ok ... te daré un descanso. –