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 PostgreSQL Discussion :

selection dans Treeview


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre régulier Avatar de chh2008
    Inscrit en
    Mars 2008
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2008
    Messages : 129
    Points : 106
    Points
    106
    Par défaut selection dans Treeview
    Bonjour,
    j'enregistre les données d'un treeview dans une table comme suite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TABLE "TableFamille"
    (
      code serial NOT NULL,
      designation character varying NOT NULL,
      parent integer NOT NULL,
      CONSTRAINT "PK" PRIMARY KEY (code)
    )
    WITH (OIDS=FALSE);
    ALTER TABLE "TableFamille" OWNER TO postgres;
    comment sélectionner que les sous famille d'un noeud donnée .
    merci.

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Bonjour,

    Si ta version de PostgreSQL est la version 8.4 (la dernière à ce jour), tu peux faire des requêtes récursives avec la syntaxe WITH : https://postgresql.developpez.com/do...tion/francais/

    Sinon, je te recommande la lecture de cet excellent tutoriel sur le sujet : http://sqlpro.developpez.com/cours/arborescence/

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre régulier Avatar de chh2008
    Inscrit en
    Mars 2008
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2008
    Messages : 129
    Points : 106
    Points
    106
    Par défaut
    Merci ced je jette un œil la dessus .

  4. #4
    Futur Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Si tu n'es pas en 8.4, il existe aussi la fonction connectby() fournie dans le module tablefunc dans share/contrib/tablefunc.sql de ton répertoire d'install de postgresql.

    Je ne sais pas à partir de quelle version elle est disponible, mais je l'utilise avec la 8.3 et cela fonctionne bien.

    Voir la doc ici : http://www.postgresql.org/docs/8.3/i...tablefunc.html

    Cordialement,

  5. #5
    Membre régulier Avatar de chh2008
    Inscrit en
    Mars 2008
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2008
    Messages : 129
    Points : 106
    Points
    106
    Par défaut
    Bonjour
    Le CONNECTBY fonctionne très bien voici un exemple :
    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
    20
    21
    22
    23
    24
    25
     
    CREATE TABLE connectby_tree(keyid text, parent_keyid text, pos int);
     
    INSERT INTO connectby_tree VALUES('row1',NULL, 0);
    INSERT INTO connectby_tree VALUES('row2','row1', 0);
    INSERT INTO connectby_tree VALUES('row3','row1', 0);
    INSERT INTO connectby_tree VALUES('row4','row2', 1);
    INSERT INTO connectby_tree VALUES('row5','row2', 0);
    INSERT INTO connectby_tree VALUES('row6','row4', 0);
    INSERT INTO connectby_tree VALUES('row7','row3', 0);
    INSERT INTO connectby_tree VALUES('row8','row6', 0);
    INSERT INTO connectby_tree VALUES('row9','row5', 0);
     
    -- with branch, without orderby_fld (order of results is not guaranteed)
    SELECT * FROM connectby('connectby_tree', 'keyid', 'parent_keyid', 'row2', 0, '~')
     AS t(keyid text, parent_keyid text, level int, branch text);
     keyid | parent_keyid | level |       branch
    -------+--------------+-------+---------------------
     row2  |              |     0 | row2
     row4  | row2         |     1 | row2~row4
     row6  | row4         |     2 | row2~row4~row6
     row8  | row6         |     3 | row2~row4~row6~row8
     row5  | row2         |     1 | row2~row5
     row9  | row5         |     2 | row2~row5~row9
    (6 rows)

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

Discussions similaires

  1. Multi-selection dans une ComboBox ?
    Par Moloko dans le forum MFC
    Réponses: 5
    Dernier message: 07/07/2021, 17h26
  2. [VB.net] Selection dans un TreeView
    Par chatainsim dans le forum Windows Forms
    Réponses: 4
    Dernier message: 26/06/2006, 16h00
  3. Selection dans un treeview
    Par malhivertman1 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 05/12/2005, 14h53
  4. [Sybase] Select dans une select loop en C
    Par Claudio dans le forum Sybase
    Réponses: 2
    Dernier message: 29/04/2003, 18h06
  5. faire un selection dans une image aves les APIs
    Par merahyazid dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/04/2002, 10h44

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