Tengo una consulta similar a la siguiente para devolver artículos que coincidan con una búsqueda de texto completo. En producción, el texto [FULL TEXT SEARCH CRITERIA]
se reemplaza por la expresión de búsqueda de texto completo real.¿Devuelve la página de resultados de búsqueda de texto sin recurrir?
La consulta está escrita para mostrar solo una página de resultados.
WITH ArtTemp AS (
SELECT TOP (@StartRow + @MaxRows) ROW_NUMBER() OVER (ORDER BY ArtViews DESC) AS RowID,
Article.ArtID,Article.ArtTitle,Article.ArtSlug,Category.CatID,Category.CatTitle,
Article.ArtDescription,Article.ArtCreated,Article.ArtUpdated,Article.ArtUserID,
[User].UsrDisplayName AS UserName FROM Article
INNER JOIN Subcategory ON Article.ArtSubcategoryID = Subcategory.SubID
INNER JOIN Category ON Subcategory.SubCatID = Category.CatID
INNER JOIN [User] ON Article.ArtUserID = [User].UsrID
WHERE [FULL TEXT SEARCH CRITERIA] AND Article.ArtApproved = 1
)
SELECT ArtID,ArtTitle,ArtSlug,CatID,CatTitle,ArtDescription,ArtCreated,ArtUpdated,
ArtUserID,UserName FROM ArtTemp
WHERE RowID BETWEEN @StartRow + 1 AND (@StartRow + @MaxRows)
ORDER BY RowID
Esto funciona bien, excepto que la búsqueda de texto completo devuelve los resultados en orden de relevancia, pero ROW_NUMBER() OVER (ORDER BY ArtViews DESC)
estaciones de los resultados. ¿Hay alguna forma de escribir la misma consulta sin recurrir a los resultados?