Этот вопрос относится к предыдущему вопросу, который я задавал ... см. "SQL Server 2005 Как заказать набор записей при использовании оператора LIKE".
Следующие работы ...
with xx as
(
select case
when mycol = 'finance' then 1
when mycol like 'finance%' then 2
when mycol like '%finance%' then 3
end as rnk,
*
from MyTable
where mycol like '%finance%'
)
select * from xx
order by xx.rnk, xx.mycol;
Но что я действительно хочу сделать, так это то, что я использую сервер для пролистывания записей ...
WITH xx AS
(
select case
when t.term = 'finance' then 1
when t.term like 'finance%' then 2
when t.term like '%finance%' then 3
end as rnk,
*,
row_number() over (order by rnk, t.term) as rownumber
from tblTerms t
where t.term like '%finance%'
)
select * from xx
where rownumber between 11 and 20 -- page #2
order by xx.rnk, xx.mycol;
Я получаю ошибку "Неверное имя столбца'rnk' ".
У кого-нибудь есть идеи, как решить эту проблему?
Большое спасибо,
Mark