Bonjour,
J'ai besoin de votre aide pour formuler une requête.
Je m'explique : J'ai une table NOEUDS qui contient la structure d'un arbre dont voici les champs :
ID_NOEUD, ID_PERE, ID_DOCUMENT_ASSOCIE, TYPE_DOCUMENT, RANG
ID_PERE nous donne l'id du pere qui est lui meme un id de la table NOEUDS.
On a donc une table pour stocker un arbre.
ID_DOCUMENT_ASSOCIE nous donne l'id du document associé à ce noeud, TYPE_DOCUMENT nous donne le type de document (soit 1 ou 2). RANG n'est pas important dans notre question.
Mon but est de recupérer les enfants d'un noeud avec les informations ID_NOEUD ainsi que le titre du document associé à ce noeud. Le probleme, c'est que la table qui contient le titre du document dépend justement du type de document...Dans la premiere table de document (type 1), le champs titre est "INTITULE" et dans la deuxieme (type 2), c'est "TITRE".
J'ai essayé cette requete :
Elle fonctionne mais ne donne pas le bon resultat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 select distinct noeud.id_noeud, noeud.id_document_associe, noeud.type_document, noeud.rang, doc1.intitule, doc2.titre from noeuds noeud, documents_1 doc1, documents_2 doc2 where noeud.id_pere = 13965 and (doc1.id_document = noeud.id_document_associe or doc2.id_document = noeud.id_document_associe) order by rang;
En fait ce que je veux, c'est afficher soit doc1.intitule ou doc2.titre suivant la valeur de noeud.type_document
Merci de notre aide !
Partager