Bonjour tout le monde !
Voilà, il y'a quelques temps l'utilisateur Philben m'a aidé grandement sur ce forum sur un problème de jointure.
Je devais sortir le chiffre d'affaire de chaque magasins pour le mois de janvier de 2006 et 2007 :
Pour cela j'ai une table CAmarqueParPorte dont la structure est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 2006 2007 Mag1 44 33 Mag2 11 18 Mag3 12 56 ...
Philben m'avais sorti la requête suivante qui marchait super bien ! :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 idStore, idBrand, Mois, Annee, SalesNetAmount 014101, 111, 01, 2006, 34.50
Gràce à cette requête j'ai pu en faire une autre, à savoir, le CA de chaque magasin de janvier 2006 et janvier 2007 pour une marque donnée (ici la marque '111'). :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 TRANSFORM Sum(CAmarqueParPorte.SalesNetAmount) AS SUMSalesNetAmount SELECT PB_Affiliés.Nom AS Expr1 FROM CAmarqueParPorte, PB_Affiliés, MagComparables WHERE (((CAmarqueParPorte.mois)='01') AND ((CAmarqueParPorte.annee)='2006' Or (CAmarqueParPorte.annee)='2007') AND PB_Affiliés.IdAfilliéGROUPEMENT = Left(CAmarqueParPorte.idStore,3) AND MagComparables.idStore = CAmarqueParPorte.idStore) GROUP BY Left(CAmarqueParPorte.idStore,3) + ' ' + PB_Affiliés.Nom PIVOT [Mois] & '/' & [Annee] IN ('01/2006','01/2007');"
Maintenant j'aimerai faire la fusion des deux à savoir obtenir le Chiffre d'affaire de chaque magasin pour la marque '111' et le chiffre d'affaire toute marque :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 TRANSFORM Sum(CAmarqueParPorte.SalesNetAmount) AS SUMSalesNetAmount SELECT PB_Affiliés.Nom AS Expr1 FROM CAmarqueParPorte, PB_Affiliés, MagComparables, MarquesParPorte WHERE ( left(MarquesParPorte.idStore,3) = left(MagComparables.idStore,3) AND((CAmarqueParPorte.mois)='01') AND ((CAmarqueParPorte.annee)='2006' Or (CAmarqueParPorte.annee)='2007') AND PB_Affiliés.IdAfilliéGROUPEMENT = Left(CAmarqueParPorte.idStore,3) AND MagComparables.idStore = CAmarqueParPorte.idStore AND CAmarqueParPorte.idBrand = '111' AND MarquesParPorte.idMarque = '111') GROUP BY Left(CAmarqueParPorte.idStore,3) + ' ' + PB_Affiliés.Nom PIVOT [Mois] & '/' & [Annee] IN ('01/2006','01/2007');
Mais là je sèche complètement...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 2006Marque 2007Marque 2006Total 2007Total Mag1 Mag2 Mag3
J'ai pensé faire les requêtes séparément mais on ne trouve pas les mêmes magasins dans les 2 requêtes car, les magasins n'ont pas toutes les marques.
On peut trouver Mag1, Mag2 dans la première, et Mag1, Mag2 et Mag3 dans la 2ème.
En gros il faut que ce soit ma première requête qui détermine la liste des magasins.
D'avance un ENORME merci à ceux qui pourront m'aider car je ne vois vraiment pas du tout...
Partager