Bonjour a tous,
Je viens d’ecrire deux requetes qui permettent d’obtenir des TOTAUX par ligne et par colonnes d’une table.
Etatpe1: obtenir les TOTAUX par ligne. (Requete Temp_Sum_1)Etatpe 2 : Obtenir les TOTAUX par colonne. (Requete: Temp_Sum_2)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT Commande.SalesPerson , Commande.fn1 , Commande.fn2 , Commande.fn3 , [fn1]+[fn2]+[fn3] AS TotalPerRow FROM Commande;Etatpe 3: Unir le deux requetes (Requete: Temp_Sum_3_SumPerColumn_SumPerRow)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT IsNull([SalesPerson]) AS TotalPerColumn , Sum(Temp_Sum_1.fn1) AS SumOffn1 , Sum(Temp_Sum_1.fn2) AS SumOffn2 , Sum(Temp_Sum_1.fn3) AS SumOffn3 , Sum(Temp_Sum_1.TotalPerRow) AS SumOfTotalPerRow FROM Temp_Sum_1 GROUP BY IsNull([SalesPerson]);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT Temp_Sum_1.* From Temp_Sum_1 UNION ALL SELECT "TotalPerColumn" ,Temp_Sum_2.SumOffn1 ,Temp_Sum_2.SumOffn2 ,Temp_Sum_2.SumOffn3 ,Temp_Sum_2.SumOfTotalPerRow From Temp_Sum_2;
La table initiale est :
Le result final obtenu est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Commande SalesPerson fn1 fn2 fn3 a 1 1 1 b 2 2 2 c 3 3 3
Ma question est la suivante: existe-t-il une meilleure facon d’obtenir le meme resultat?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Temp_Sum_3_SumPerColumn_SumPerRow SalesPerson fn1 fn2 fn3 TotalPerRow a 1 1 1 3 b 2 2 2 6 c 3 3 3 9 TotalPerColumn 6 6 6 18
Merci d’avance de me repondre.
Cordialement.
Bonero.
Partager