ROW_NUMBER Альтернатива для SQL Server 2000 - PullRequest
1 голос
/ 17 июня 2010

УЖЕ сейчас я использую ROW_NUMBER () в своей процедуре в SQL Server 2008 следующим образом:

WITH cars as(SELECT carid,mileage,retailprice,imageurl,model,year, 
             Zips.Distance AS Miles, Manufacturers.mfgName as Make,
             dealers.companyname as companyname, CASE @sortby 
WHEN 'D' THEN ROW_NUMBER() OVER (ORDER BY  Manufacturers.mfgName) 
WHEN 'P' THEN ROW_NUMBER() OVER (ORDER BY retailprice) 
WHEN 'M' THEN ROW_NUMBER() OVER (ORDER BY mileage) 
END as 'rownum'
FROM usedcars INNER JOIN #TempZips Zips ON Zips.ZipCode =usedcars.loczip
left join Manufacturers on Manufacturers.mfgid=usedcars.mfgid 
left join dealers on dealers.dealerid = usedcars.dealerid 
where usedcars.active=1 and usedcars.dealerid=@dealerid)
select @totalrecords as totalrec,*  from cars 
where rownum between @skip and  @take

Есть ли эквивалент этого, который работает в SQL2000?(ROW_NUMBER не был представлен до SQL2005).

1 Ответ

4 голосов
/ 17 июня 2010

Вы можете создать временную таблицу со столбцом идентификаторов и вставить в него свои данные.

Затем используйте временную таблицу.

...