Bonjour,
Voila, je bute sur un problème et je ne trouve pas ma solution qui est peut-être très simple !
Avant tout, je vous mets un exemple simplifié de ce que j'ai en MPD, je ne peux pas agir dessus, mais juste le subir !
Je sais que ce n'est pas bien ... Mais pas le choix ... lol
Alors j'ai :
Une table SOUSTRAITANCE qui contient des pièces en colonnes, par exemple les colonnes DEMANDEUR, MENAGE, LOGISTIQUE, RESTAURATION
Une autre table CHANGEMENTS qui contient comme colonnes TYPE, AVANT, APRES, DATE
Il n'y à AUCUNE contrainte d'intégrité
Quand un changement opère, une société de sous-traitance se fait racheter ou change.
Aussi quelques exemples :
Ensuite :SOUSTRAITANCE ('OPEL', 'M1', 'L1', 'R1')
SOUSTRAITANCE ('FORD', 'M1', 'L3', 'M1')
-> Ici l'entreprise OPEL soustraite le ménage à M1, la logistique à L1 et la restauration ) R1 ...
-> Même raisonnement pour FORD
Je souhaiterais le résultat suivant :CHANGEMENTS ('MENAGE', 'M1', 'M2', '01/01/2014')
CHANGEMENTS ('RESTAURATION', 'R1', 'R2', '01/07/2013')
-> Ici toutes les soustraitances qui ont M1 en MENAGE auront donc M2 à partir du 01/01/2014
-> Même raisonnement pour la RESTAURATION
-> Pas de changements pour la LOGISTIQUE
Donc à savoir, pour CHAQUE ligne de SOUSTRAITANCE, je veux un produit cartésien pour CHAQUE TYPE avec des données s'il y en a, sinon des NULL ... Mais le TYPE, lui est toujours bien présent !!! (liste CONNUE de types)'OPEL', 'MENAGE', 'M1', 'M2', '01/01/2014'
'OPEL', 'LOGISTIQUE', NULL, NULL, NULL
'OPEL', 'RESTAURATION', 'R1', 'R2', '01/07/2013'
'FORD', 'MENAGE', 'M1', 'M2', '01/01/2014'
'FORD', 'LOGISTIQUE', NULL, NULL, NULL
'FORD', 'RESTAURATION', 'M1', 'M2', '01/01/2014'
Mon souci est que chacune de mes 2 tables ici est pour moi un gros ensemble de jointures, donc les performances sont au coeur du souci !!!!!
Merci à vous pour l'aide !
Partager