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

SQL Oracle Discussion :

Gestion d'arbre de chaine avec requête hiérarchique


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 36
    Par défaut Gestion d'arbre de chaine avec requête hiérarchique
    Bonjour,

    J'ai une table table1. pk=(colonne1, colonne2), une fk colonne3 qui pointe sur colonne2.
    Cela modélise des chaines. Exemple :
    -Une année c'est 360 jours de 24 heures, de 60 minutes, de 60 secondes.
    -Une année c'est 52 semaines, de 7 jours, de 3600 secondes.
    -Une année c'est etc...
    Avec une requête hiérarchique(CONNECT BY PRIOR) et SYS_CONNECT_BY_PATH, c'est assez facile de recenser les chaines pour chaque élément recensé dans colonne1.

    D'un autre coté :
    J'ai une deuxième table table2.
    pk=(colonne1, colonne5) colonne5 est le même type d'information que colonne 1


    Pour tout les élément de colonne1 :
    (
    -Je souhaite recenser toutes les chaines de colonne1(résolu) et :

    De plus(non résolu) : je souhaite recenser les chaines de chaque élément de colonne5 rattaché à l'élément de colonne1 considéré.
    ==>Il faut que au final les chaines des éléments de colonne5 rattaché à l'élément de colonne1 considéré "deviennent" les chaines de l'élément de colonne1 considéré.
    )

    Pour des raisons de perf je souhaite le faire dans une seul requête(pas de programme avec itération).
    Il s'agit techniquement d'un arbre de chaines :
    pour un élément element1 j'ai plusieurs élément (elementelement1, elementelement2, elementelement3, elementelement4, ....)
    Et pour chaque élément(y compris element1), il y a DES chaines (chaine1, chaine2, chaine3, ...)

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 955
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 955
    Par défaut
    Comme il y a 2 fois colonne 1 (dans table 1 et dans table 2), la description n'est pas claire.
    Pouvez-vous proposer un jeu de test et le résultat souhaité ?

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 36
    Par défaut
    Bonjour,

    Si j'ai mis colonne1 deux fois c'est que justement table1.colonne1 et table2.colonne1 représentent la même information. C'est "la même colonne".


    il faut pour chaque élément distinct de colonne, l'ensemble des chaines de colonne 1, et l'ensemble des chaines de ses enfants :
    Résultat de la requête :

    colonne1, chaine
    toto, uneChaineDeToto
    toto, uneDeuxiemeChaineDeToto
    toto, uneDeuxiemeChaineDeToto
    toto, uneTroisiemeChaineDeToto
    toto, uneChaineDunEnfantDeToto
    toto, ....
    toto ....

  4. #4
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Bonjour,
    Il manque le jeu de test

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 36
    Par défaut
    personne, code, facteur, code_parent
    jean, ANNEE, 360, JOUR
    jean, JOUR, 24, HEURES
    jean, HEURES, 3600, SECONDE
    jean, ANNEE, 52, SEMAINE
    jean, SEMAINE, 7, JOURS
    jean, JOURS, 24, HEURES
    jean, HEURES, 3600, SECONDE
    henri, ANNEE, 360, JOUR
    henri, JOUR, 24, HEURES
    henri, HEURES, 60, MINUTE
    henri, MINUTE, 60, SECONDE
    marie, ANNEE, 52, SEMAINE
    marie, SEMAINE, 7, JOURS
    marie, JOURS, 24, HEURES
    marie, HEURES, 3600, SECONDE
    marie, QUINTAL, 100,KG
    marie, KG, 1000,G



    table 2
    personne, enfant
    jean; marie

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 36
    Par défaut
    pb résolu en faite ce n'est qu'un pb d'affichage. Il faut seulement afficher le parent, et faire la requête hierarchique sur les enfants.
    ensuite fait un union all avec la requête hiérarchique sur le parent.

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

Discussions similaires

  1. Requête insert qui conient une chaine avec accents
    Par unix27 dans le forum Requêtes
    Réponses: 2
    Dernier message: 12/05/2012, 02h22
  2. Requête hiérarchique avec même état
    Par Hobbi1 dans le forum SQL
    Réponses: 6
    Dernier message: 14/10/2011, 15h40
  3. Réponses: 3
    Dernier message: 30/06/2009, 20h16
  4. Problème avec requête hiérarchique
    Par moezsokrati dans le forum SQL
    Réponses: 1
    Dernier message: 27/08/2008, 17h33
  5. Gestion des plans d'actions avec requête ajout
    Par 512banque dans le forum Modélisation
    Réponses: 3
    Dernier message: 08/01/2008, 09h58

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