|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Nouveau Membre du Club
![]() Administrateur de base de données Inscription : avril 2004 Messages : 41 ![]() |
Bonjour
Ca a l'air d'un probleme classique, mais je ne trouve rien sur le forum... Dans un datawarehouse, nous avons 3 tables liées par un right join et un inner join et les resultats ne sont pas bons. On souhaite avoir toutes les valeurs de la dimension (MD=master data), meme si elles n'ont pas de ligne correspondante dans la table de fait (FACT) : dans ce cas le total affiché sera NULL. (1) Query donnant des resultats partiels : le outer join ne semble pas fonctionner car on obtient la meme chose que si l'on fait un INNER JOIN entre MD et FACT, c'est a dire seulement les dimensions avec des lignes dans FACT Code :
Code :
A noter : V1_CALENDAR est une vue sur une table Calendar ,avec un where qui limite la liste des dates possibles V1_MASTERDATA est une vue sur la table MasterData, avec un where qui limite les dimensions aux valeurs "courantes" Je ne sais pas si cela peut avoir un impact sur la query. Merci d'avance si quelqu'un a une explication et pourquoi pas une idée de remplacement Isa |
||||
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
FACT Outer join Md => les lignes de MD et FACT plus les lignes de MD sans FACT. Conséquence: valuers nulles pour Fact.IDFISCALYEAR, etc.
Mais lors de la jointure avec CAL ces lignes n'ont pas de correspondance dans CAL. |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Administrateur de base de données Inscription : avril 2004 Messages : 41 ![]() |
Merci, je comprends le probleme.
Peut-on dire a Oracle de faire d'abord l'INNER JOIN afin de constituer la liste de lignes sur lesquelles on pourra ensuite faire le RIGHT JOIN ? Ou bien la seule facon est de faire une sub-query entre FACT et CALENDAR pour avoir d'abord toutes les lignes puis utiliser un RIGHT JOIN sur cette sub-query...comme en (2) ? |
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
Peut être il sera intéressante pour vous de lire "Data Densification for Reporting".
[Edit] Mea culpa! Modifié le lien! [/Edit] |
|
|
10
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Administrateur de base de données Inscription : avril 2004 Messages : 41 ![]() |
Oui la densification, c'est ce que nous cherchons a faire
... mais le lien ne marche pas |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com