|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2007 Messages : 75 ![]() |
Bonjour,
j'ai une requête qui calcul un écart entre deux valeurs et classe le résultat selon cet écart (descendant, de façon à trier les plus gros écarts) Puis j'utilise l'instruction "FETCH FIRST 50 ROWS ONLY" de façon à ne sortir que les 50 plus gros écarts. Une fois que ces 50 lignes sont sorties, je veux trier les résultats selon un ordre différent parmi les lignes sélectionnées. Existe il une façon de rajouter ce tri supplémentaire dans la même requête (pour éviter de créer une table intermédiaire) Merci |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : octobre 2007 Messages : 2 ![]() |
Bonjour,
Tu peux essayer un select imbriqué : Select A.Champ1, A.champ2 ... from ( Select champ1, champ2 ... from table1 order by ... FETCH FIRST 50 ROWS ONLY ) as A order by ...; Je nai pas testé, mais je pense que ça devrait marcher. |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Inscription : septembre 2004 Messages : 123 ![]() |
Bonjour,
ça dépend de la plateforme. La solution de erkeal a une bonne tête pour Linux Unix Windows. Sur z/OS, en V7 et V8, ça ne marche pas, en V9 peut-être. Et pour AS/400, j'en sais rien. D'une manière générale sur ce forum, il faut toujours préciser l'OS (ou il faudrait peut-être divisé le forum DB2 en 3). Alex. |
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2007 Messages : 75 ![]() |
En effet c'est sur AS400 et cette solution ne semble pas fonctionner, pas possible de mettre un order by et FECTH dans une sous requête.
|
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2007 Messages : 75 ![]() |
Oups, autant pour moi la réponse de Erkeal fonctionne très bien !
Merci beaucoup. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com