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

Requêtes et SQL. Discussion :

Nested set model: Lister les subordonnés direct d'un noeud.


Sujet :

Requêtes et SQL.

  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 384
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 384
    Points : 2 014
    Points
    2 014
    Par défaut Nested set model: Lister les subordonnés direct d'un noeud.
    Bonjour,

    Je fait des expérimentations pour représenter des données hiérarchiques dans une base de données Access.
    (https://mikehillyer.com/articles/man...data-in-mysql/)

    Je souhaite récupérer la liste des enfants direct d'un noeud ("Find the Immediate Subordinates of a Node"), mais Access rejette la requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    SELECT node.name, (COUNT(parent.name) - (sub_tree.depth + 1)) AS depth
    FROM nested_category AS node,
            nested_category AS parent,
            nested_category AS sub_parent,
            (
                    SELECT node.name, (COUNT(parent.name) - 1) AS depth
                    FROM nested_category AS node,
                            nested_category AS parent
                    WHERE node.lft BETWEEN parent.lft AND parent.rgt
                            AND node.name = 'PORTABLE ELECTRONICS'
                    GROUP BY node.name
                    ORDER BY node.lft
            )AS sub_tree
    WHERE node.lft BETWEEN parent.lft AND parent.rgt
            AND node.lft BETWEEN sub_parent.lft AND sub_parent.rgt
            AND sub_parent.name = sub_tree.name
    GROUP BY node.name
    HAVING depth <= 1
    ORDER BY node.lft;
    Visiblement, il n'aime pas cette syntaxe dans la clause SELECT:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (COUNT(parent.name) - (sub_tree.depth + 1)) AS depth

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 410
    Points : 19 984
    Points
    19 984
    Billets dans le blog
    66
    Par défaut
    Bonjour,

    A première vue, il attend une seule valeur pour sub_tree.depth, il faut lui appliquer une fonction de regroupement :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    (COUNT(parent.name) - (FIRST(sub_tree.depth) + 1)) AS depth
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 384
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 384
    Points : 2 014
    Points
    2 014
    Par défaut
    Super,

    Merci beaucoup.

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

Discussions similaires

  1. [Vocabulaire] Nested set model, quelle genre de relation d'ordre ?
    Par SpiceGuid dans le forum Mathématiques
    Réponses: 0
    Dernier message: 28/07/2016, 12h52
  2. Réponses: 10
    Dernier message: 26/08/2010, 01h11
  3. Réponses: 4
    Dernier message: 15/12/2009, 17h15
  4. Lister les entrées sorties d'un modele
    Par anthony.faucogney dans le forum Simulink
    Réponses: 1
    Dernier message: 19/08/2009, 21h51

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