BEGIN WITH OrderedRows AS ( SELECT ROW_NUMBER() OVER (order by lastMinuteId ASC) as Row, lastMinuteId,price FROM JGLM -- NEDENST. VIRKER IKKE IF (@price <> 0) BEGIN WHERE price > @price END ) SELECT lastMinuteId FROM OrderedRows WHERE row between @startRowIndex and @startRowIndex+@numRows-1 END
Jeg bruger ovenstående paging funktion i sql server 2005 v.h.a. row_number - og det fungerer fint. Problemet er at jeg vil tilsætte sql forespørgselen en where del hvis @price <> 0 Hvordan gøres det?
Du kan gøre det på følgende måde: WITH OrderedRows AS ( SELECT TOP @startRowIndex+@numRows ROW_NUMBER() OVER (ORDER BY lastMinuteId) AS Row, lastMinuteId, price FROM JGLM WHERE (price > @price) OR (@price = 0) )
SELECT lastMinuteId FROM OrderedRows WHERE Row BETWEEN @startRowIndex and @startRowIndex+@numRows-1
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.