Bonjour à tous,
Je fais la requete suivante :
Cela me trie les résultat par B.STP_LIB
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT * FROM A, B, C WHERE A.ID = C.ID AND A.STP_CODE = B.STP_CODE ORDER BY B.STP_LIB
Je ne veux que les 50 premiers résultats, je rajoute donc TOP 50
et là ça me trie bien mes résultats mais lorsqu'il y a la même valeur dans la colonne STP_LIB, les résultats ne sont pas dans le même ordre que lors de la première requête. Je ne sais pas si c'est très clair, je vais faire un petit schéma pour mieux expliquer (ce sera peut-être mieux... lol)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT TOP 50 * FROM A, B, C WHERE A.ID = C.ID AND A.STP_CODE = B.STP_CODE ORDER BY B.STP_LIB
A gauche, ma première requête et a droite ma deuxième requête
Ils sont bien triés par ordre croissant de STP_LIB mais les données ne sont pas dans le même ordre et c'est un problème pour moi car comme je fais un système de pagination, il est possible que les données se retrouvent dans deux pages différentes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 ID TITLE STP_LIB | ID TITLE STP_LIB 21 title21 lib2 | 21 title21 lib2 1 title1 lib2 | 1 title1 lib2 5 title5 lib3 | 89 title89 lib3 56 title56 lib3 | 56 title56 lib3 89 title89 lib3 | 48 title48 lib3 48 title48 lib3 | 5 title5 lib3 12 title12 lib3 | 12 title12 lib3
Je ne comprend pas que prendre seulement les X premiers résultats fait que ça change l'ordre des résultats.
Voila si quelqu'un trouve une solution...
Merci d'avance
Partager