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

XQUERY/SGBD XML Discussion :

Produire un arbre xml à partir de plusieurs tables SQL


Sujet :

XQUERY/SGBD XML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 72
    Points : 54
    Points
    54
    Par défaut Produire un arbre xml à partir de plusieurs tables SQL
    Bonsoir,

    J'ai une problématique qui me semble assez simple mais que je n'arrive pas à résoudre car je connais peux le xml et ce qui tourne autour.

    Pour faire simple, imaginons que j'ai 2 tables (ou 2 fichiers xml, c'est pareil), une pour les noms de famille, l'autre pour les prénoms. Les 2 sont liés par un id.

    Exemple de famille :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    id_foyer  famille
    1           toto
    2           titi
    Exemple de prénoms :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    id  id_foyer   prenom
    50  1            vincent
    51  1            paul
    52  2            hervé
    le lien entre les 2 tables se fait via id_foyer.

    J'arrive facilement à produire un fichier xml qui ressemble à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <data>
      <id_foyer>1</id_foyer>
      <famille>toto</famille>
      <id>50</id>
      <prenom>vincent</prenom> 
    </data>
    <data>
      <id_foyer>1</id_foyer>
      <famille>toto</famille>
      <id>51</id>
      <prenom>paul</prenom>
    </data>
    ...
    En gros, c'est le résultat qui correspond à un left join sql.
    L'export que j'ai besoin de faire doit se faire sous la forme d'un arbre. 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
     
    <famille>
      <id_foyer>1</id_foyer>
      <famille>toto</famille>
      <prenoms>
         <id>50</id>
        <prenom>vincent</prenom> 
      </prenoms>
      <prenoms>
         <id>51</id>
         <prenom>paul</prenom> 
       <prenoms>
    </famille>
    ...
    En règle général, je fais des petits bout de code en procédure stockées ou en C, mais pour le coup, je coince. De plus la table qui représente le pied de l'arbre compte environ 15 millions de lignes.

    J'ai commencé à regarder du côté de XSLT, j'ai l'impression qu'en creusant, je dois pouvoir faire quelque chose.
    Avez vous des pistes à me donner ?
    Merci par avance.

  2. #2
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Ben non ce n'est pas pareil

    Si ce n'est pas du XML et que tu es sur Oracle, SQL Server ou postgreSQL tu peux obtenir directement ce format avec une simple requête SQL et les fonctions xmlelement,xmlagg et autres

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 72
    Points : 54
    Points
    54
    Par défaut
    Bonjour Erwy

    quand je dis "c'est pareil", c'est plus pour dire que je peux exporter mes tables vers un fichier texte, xml pour créer mon arbre en dehors d'un sgbd.

    Je vais suivre ta piste pour voir.

Discussions similaires

  1. [AC-2002] Exporter des données XML à partir de plusieurs tables
    Par ChrisP dans le forum Access
    Réponses: 1
    Dernier message: 18/11/2013, 15h18
  2. Réponses: 1
    Dernier message: 05/03/2013, 20h05
  3. Etat à partir de plusieur table/requete
    Par Kyrha dans le forum Access
    Réponses: 4
    Dernier message: 22/05/2006, 14h56
  4. Réponses: 19
    Dernier message: 13/03/2006, 13h06
  5. [SUM] récuperer une quantite a partir de plusieurs table
    Par Snowballz dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 14/09/2004, 18h48

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