Pagination et multiple order by
Bonjour,
Je bloque sur une requete dont le but est de paginer un jeu de resultat trier selon 3 colonnes de type "int" : CHAP, SEQ1, SEQ2
Code:
1 2 3 4 5 6
| SELECT * FROM (
SELECT TOP 40 * from (
SELECT TOP 1000 * FROM rg ORDER BY CHAP, SEQ1, SEQ2
ASC )
as tbl1 ORDER BY CHAP, SEQ1, SEQ2 DESC )
as tbl2 order by CHAP, SEQ1, SEQ2 ASC |
Avec cette requete, le tri est correct mais le jeu de resultat est constament identique , peu import la valeur du 2ième TOP ("TOP 1000").
en Modifiant un peu cette requete :
Code:
1 2 3 4 5 6
| SELECT * FROM (
SELECT TOP 40 * from (
SELECT TOP 1000 * FROM rg ORDER BY CHAP, SEQ1, SEQ2
ASC )
as tbl1 ORDER BY CHAP DESC )
as tbl2 order by CHAP, SEQ1, SEQ2 ASC |
Je reussi à paginer mais le resultat est bizzare
( l'enregistrement placé à la position 28 de la page 1 se retrouve en 1ere position de la page 2 )
Voila j'ai vraiment du mal à comprendre tout ce fonctionnement ..
Pouvez-vous m'aidé ?
Merci ;)