Her er et forsøg - den er lavet meget hurtigt, så den er sikkert sprængfyldt med syntaksfejl. Men det er principielt det du skal gå efter for at lave en ranking select i sqlserver 2000:
select b.RANK as Rank, a.* from votes a left outer join ( select count(*) as RANK, a1.user_id, a1.point, from votes a1, votes a2 where a1.point>= a2.point group by a1.user_id ) as b
select b.RANK as Rank, a.* from votes a left outer join ( select count(*) as RANK, a1.userid from votes a1, votes a2 where a1.point>= a2.point group by a1.point ) as b
Er det ikke lige meget om det er userid eller UserID ? Jeg har aldrig oplevet at Quety Analyzer eller MS SQL er tager højde for case, men jeg har prøvet at rettet og fejlen er stadigvæk den samme.
select b.RANK as Rank, a.* from votes a left outer join ( select count(*) as RANK, a1.UserID from votes a1, votes a2 where a1.point>= a2.point group by a1.point ) as b on a.UserID= b.UserID
select b.RANK as Rank, a.* from votes a left outer join ( select count(*) as RANK, a1.UserID from votes a1, votes a2 where a1.point>= a2.point group by a1.userid ) as b on a.UserID= b.UserID
2000 og 2005. Jeg har oprettet en lille test tabel med nogle test-værdier og der virker rangerering fint. Send evt. et create table script, så kan jeg prøve med en kopi af din tabel.
Nu brugte den der rank algoritme som jeg posede d. 03/10-2005 15:12:14 til en af mine egne opgaver jeg sidder med p.t. på en mssql 2000 og det virkede nu altså fint.
Mon ikke du bare har en dum lille syntaks fejl et eller andet sted.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.