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 :

Tri d'un resultset (hard)


Sujet :

DB2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 31
    Par défaut Tri d'un resultset (hard)
    Bonjour à tous,

    J'ai une table BRANCHE qui contient 3 champs (pour l'exemple) : BRANCHE_ID (integer), BRANCHE_POSITION (varchar) et BRANCHE_LIBELLE (varchar).
    Voici une requête toute simple :

    SELECT BRANCHE_ID, BRANCHE_POSITION, BRANCHE_LIBELLE
    FROM BRANCHE
    ORDER BY BRANCHE_POSITION ASC

    Cette query me retourne ce resultset :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    BRANCHE_ID BRANCHE_POSITION BRANCHE_LIBELLE
    1          01               AAA
    2          0101             BBB
    3          0102             CCC
    4          02               GGG
    5          0201             DDD
    6          0202             FFF
    7          03               EEE
    8          0301             BBB
    9          0302             AAA
    Ce resultset me permet de créer une arborescence triée en fonction de l'ordre d'encodage.
    A l'affichage ça donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    - AAA
       - BBB
       - CCC
    - GGG
       - DDD
       - FFF
    - EEE
       - BBB
       - AAA
    Une BRANCHE_POSITION (x fois 2 chiffres consécutifs) offre de multiples informations (décalage par rapport à la racine, ordre des frères, qui est son parent etc.)
    Jusque là c'est plutôt simple, si à l'encodage l'utilisateur souhaite insérer une branche au milieu de tout, il suffit de modifier les BRANCHE_POSITION et le tour est joué.

    Maintenant, ce que je souhaiterais faire, c'est de laisser l'utilisateur encoder là où il veut, mais à l'affichage de trier l'arbre automatiquement sur le libellé, tout en gardant la notion de parent (un enfant doit rester enfant de son parent)...

    Le résultat souhaité est donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    BRANCHE_ID BRANCHE_POSITION BRANCHE_LIBELLE
    1          01               AAA
    2          0101             BBB
    3          0102             CCC
    7          03               EEE
    9          0302             AAA
    8          0301             BBB
    4          02               GGG
    5          0201             DDD
    6          0202             FFF
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    - AAA
       - BBB
       - CCC
    - EEE
       - AAA
       - BBB
    - GGG
       - DDD
       - FFF
    Pensez-vous que c'est réalisable directement en SQL ou dois-je obligatoirement trier l'arborescence via la page de présentation?

    Merci pour votre aide, et bon casse tête ;-)

  2. #2
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 31
    Par défaut
    Personne pour m'aider

  3. #3
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : SharePoint developpeur
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Par défaut
    Ben apparement ce n'est pas trop possible ou en tout cas cela semble très difficile. Perso je ne vois pas trop comment tu pourrais faire. Peux-être avec une commande récursive. Je pense que c'est la seul piste à suivre.

  4. #4
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 31
    Par défaut
    Merci, mais je ne sais pas comment faire de la la récursivité en DB2.
    Je vais rester sur mon idée de départ à savoir trier via la page de présentation. A moins que je ne trouve mieux entre-temps.

    A bientôt.

Discussions similaires

  1. ResultSet trié automatiquement malgré order by
    Par Mageni dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 19/04/2010, 19h18
  2. Tri multi-threadé
    Par Tifauv' dans le forum C
    Réponses: 8
    Dernier message: 28/06/2007, 10h00
  3. tri de liste chainée
    Par RezzA dans le forum C
    Réponses: 7
    Dernier message: 26/01/2003, 21h25
  4. [VBA-E] [Excel] Tri automatique
    Par bovi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/10/2002, 11h19
  5. [] Tri d'un tableau par ordre alphabétique
    Par cafeine dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/09/2002, 09h43

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