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

Langage SQL Discussion :

Tri alphabetique dans une representation intervallaire


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 23
    Points : 19
    Points
    19
    Par défaut Tri alphabetique dans une representation intervallaire
    bonjour,

    J'ai un modele de donnée representant un arbre de categorie qui reprends le principe de representation intervallaire énoncé dans le cours http://sqlpro.developpez.com/cours/arborescence/.

    L'avantage de ce modele est la possibilité de recuperer les elements parents/enfant/etc très facilement.

    En revanche je n'arrive pas a trouver une solution pour pouvoir ordonner les libellés de mes categories par ordre alphabetique, et garder une disposition arborescente.

    Ma table categorie ressemble a ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CATEGORIE
    -----------
    BORNE_GAUCHE
    BORNE_DROITE
    LIBELLE
    NIVEAU
    Si je fait simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM CATEGORIE
    j'ai mon arbre complet, mais pas par ordre alphabetique:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    CategorieB
    ss-categorieA2
    ss-categorieA1
      ...
    CategorieA
    ss-categorieA1
    ss-categorieA2
      ...
    Un tri sur le libellé donne ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM CATEGORIE ORDER BY LIBELLE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    CategorieA
    CategorieB
    ss-categorieA1
    ss-categorieA2
    ss-categorieB1
    ss-categorieB2
    Ce qui n'est pas du tout le resultat que je recherche.

    Je voudrai donc arriver a ce resultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CategorieA
      ss-categorieA1
      ss-categorieA2
      ...
    CategorieB
      ss-categorieB1
      ss-categorieB2
      ...
    Une idée?

    Merci d'avance

  2. #2
    Membre à l'essai
    Inscrit en
    Janvier 2004
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 29
    Points : 19
    Points
    19
    Par défaut
    A mon avis pour que tu puisses les grouper par catégorie tu dois avoir une table catégorie et une table sous catégorie, si tes données sont dans la même table je doutes que tu puisses grouper.

    Table Catégorie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Categorie
    -----------
    1 | CategorieA
    2 | CategorieB
    Table ss_categorie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ss_categorie
    ------------
    1|ss_catea|1
    2|ss_cateb|1
    3|ss_catec|2
    4|ss_cated|2
    Là tu utilises GROUP BY, mais si ils sont dans la même table je doutes que sa fonctionne.

  3. #3
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    Non il utilise une arborescence intervallaire ! Donc il n'a pas besoin de plusieurs tables. Il faut trier par borne gauche. Sinon regarder la vue à la fin, V_NOMENCLATURE_NMC, elle va vous aider à réaliser une présentation "plus propre".
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Alexandre T
    Je réfléchis à la solution, mais je crois qu'elle est notée dans le tutoriel, car j'ai eu le même problème pour mon site / annuaire.
    Je viens de relire rapidement le tutoriel, mais je n'ai rien vu qui peut répondre à mon probleme.

    Mais bon j'ai peut etre raté quelque chose je continue de chercher...

    merci

  5. #5
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    J'avais fait un multiposte. Et j'avais effacer le mauvais message... Regarde ci dessus
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Dans le tutoriel, la vue permet seulement de créer les indentations et de connaitre le nombre de descendants.

    Par contre pas la moindre piste pour un tri alphabetique. Et je n'arrive pas a réaliser une vue triée correctement.

    Avez vous une idée?

    merci.

  7. #7
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    Avez-vous fait un tri par borne gauche ?
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

Discussions similaires

  1. Try/ catch dans une fonction ActionPerformed
    Par thomas2929 dans le forum Langage
    Réponses: 13
    Dernier message: 09/06/2008, 12h06
  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. Try catch dans une dll - possible ?
    Par Pendary dans le forum C++Builder
    Réponses: 1
    Dernier message: 02/03/2007, 16h48
  4. [Access] Tri limitatif dans une sélection
    Par fpouget dans le forum Langage SQL
    Réponses: 2
    Dernier message: 30/01/2007, 17h26
  5. [VBA-E]tri/sélection dans une feuille
    Par philpommé dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/04/2006, 20h18

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