2009-11-08 3 views
1

Я пытаюсь добавить где положение в следующем запросе:Попытка добавить где положение для row_number

SELECT TOP 200 ROW_NUMBER() OVER (ORDER BY KEY_TBL.RANK DESC) AS RowNumber, FT_TBL.JobId, 
FT_TBL.Title, FT_TBL.[Description], FT_TBL.Location, KEY_TBL.RANK 
FROM Jobs AS FT_TBL 
INNER JOIN 
FREETEXTTABLE (Jobs, (Title, [Description]), 'packaging') 
AS KEY_TBL ON FT_TBL.JobId = KEY_TBL.[KEY] 
WHERE CONTAINS (Location, '"luton*"') 
     AND PostedDate >= GETDATE() - 7 

Что я хочу добавить к Дно: И RowNumber> 5, однако не распознает RowNumber, и я попытался добавить его выше строки, которая говорит INNER JOIN, но она по-прежнему не работает! Есть идеи? Спасибо

ответ

2

Не могли бы вы сделать?

SELECT * FROM (
SELECT TOP 200 ROW_NUMBER() OVER (ORDER BY KEY_TBL.RANK DESC) AS RowNumber, FT_TBL.JobId, 
FT_TBL.Title, FT_TBL.[Description], FT_TBL.Location, KEY_TBL.RANK 
FROM Jobs AS FT_TBL 
INNER JOIN 
FREETEXTTABLE (Jobs, (Title, [Description]), 'packaging') 
AS KEY_TBL ON FT_TBL.JobId = KEY_TBL.[KEY] 
WHERE CONTAINS (Location, '"luton*"') 
     AND PostedDate >= GETDATE() - 7 
) as tmp WHERE tmp.RowNumber > 5 
+0

+1 Хотя вы действительно должны хранить TOP 200 во внешнем запросе ;-) – Andomar

+0

, который сработал! большое спасибо! – David

+0

iv вывел его наверх, спасибо – David

Смежные вопросы