IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DB2 Discussion :

comment effectuer un tri sur une sous selection


Sujet :

DB2

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 75
    Points : 41
    Points
    41
    Par défaut comment effectuer un tri sur une sous selection
    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

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    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.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 123
    Points : 146
    Points
    146
    Par défaut
    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.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 75
    Points : 41
    Points
    41
    Par défaut
    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.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 75
    Points : 41
    Points
    41
    Par défaut
    Oups, autant pour moi la réponse de Erkeal fonctionne très bien !
    Merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment afficher un commentaire sur une option d'un select ?
    Par tavarlindar dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 23/02/2009, 11h00
  2. Comment effectuer un tri alphabetique avec une macro
    Par alexistak dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 14/02/2008, 18h32
  3. Réponses: 1
    Dernier message: 27/10/2007, 23h03
  4. Réponses: 15
    Dernier message: 14/04/2006, 15h34
  5. Réponses: 5
    Dernier message: 24/02/2006, 10h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo