Problêmes de jointure entre 3 tables - SQL/NoSQL - Programmation
MarshPosté le 12-06-2008 à 15:06:42
Bonjour,
Je dois faire une requête sous Business Object pour obtenir des infos stockés dans 3 tables différentes, TableA(ChampA1,ChampA2,....,ChampAn), TableB (ChampB1, ChampB2,....,ChampBn), TableC(ChampC1, ChampC2,....,ChampCn).
TableA possède un champ commun avec TableB et TableB possède un champs commun avec TableC : TableA <===> TableB <===> TableC. Ces jointures n'étant pas naturelles (les champs communs ne portent pas le même nom dans les différentes table), je suis obligé de passer par 3 requêtes successives dans BO :
-Requête1 sur les champs de la TableA
-Requête2 sur les champs de la TableB avec une condition de jointure reprenant une colonne du résultat de la Requête1 ChampB1 Egal à un élément des résultats de la requête (Requête1 avec ChampA1)
-Requête3 sur les champs de la TableC avec une condition de jointure reprenant une colonne du résultat de la Requête2 ChampC2 Egal à un élément des résultats de la requête (Requête2 avec ChampB2)
Les problèmes arrivent avec avec la requête 3 : à part le ChampC2, tous les autres champsCn ne s'affichent pas correctement dans le résultat de la requête. Cela provient certainement du fait que la TableC n'est pas directement relié à la TableA.
Y-a-t-il un moyen de résoudre ce problème juste par BO ? Si oui, lequel ? Si non, quel modif apporter aux tables sachant que TableC ne peut pas être relié à TableA.
Merci pour vos réponses !
Message édité par skan_one le 12-06-2008 à 15:13:36
Marsh Posté le 12-06-2008 à 15:06:42
Bonjour,
Je dois faire une requête sous Business Object pour obtenir des infos stockés dans 3 tables différentes, TableA(ChampA1,ChampA2,....,ChampAn), TableB (ChampB1, ChampB2,....,ChampBn), TableC(ChampC1, ChampC2,....,ChampCn).
TableA possède un champ commun avec TableB et TableB possède un champs commun avec TableC : TableA <===> TableB <===> TableC.
Ces jointures n'étant pas naturelles (les champs communs ne portent pas le même nom dans les différentes table), je suis obligé de passer
par 3 requêtes successives dans BO :
-Requête1 sur les champs de la TableA
-Requête2 sur les champs de la TableB avec une condition de jointure reprenant une colonne du résultat de la Requête1
ChampB1 Egal à un élément des résultats de la requête (Requête1 avec ChampA1)
-Requête3 sur les champs de la TableC avec une condition de jointure reprenant une colonne du résultat de la Requête2
ChampC2 Egal à un élément des résultats de la requête (Requête2 avec ChampB2)
Les problèmes arrivent avec avec la requête 3 : à part le ChampC2, tous les autres champsCn ne s'affichent pas correctement dans le résultat de la requête. Cela provient certainement du fait que la TableC n'est pas directement relié à la TableA.
Y-a-t-il un moyen de résoudre ce problème juste par BO ?
Si oui, lequel ?
Si non, quel modif apporter aux tables sachant que TableC ne peut pas être relié à TableA.
Merci pour vos réponses !
Message édité par skan_one le 12-06-2008 à 15:13:36