Bonjour,
je ne pense pas que mon problème soit bien compliqué, mais je n'ai pour l'instant pas pu y trouver de réponse sur internet :
Je dispose d'une table du style :
que je voudrais faire pivoter pour obtenir la table :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 PERIODE NOM VALEUR 1 a 15 1 b 10 1 c 60 3 a -40 5 c 42
Mon souci est que je n'arrive pas à obtenir la dernière colonne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 PERIODE a b total : a+b+c 1 15 10 85 3 -40 NULL -40 5 NULL NULL 42
Ma requète initiale est la suivante :
Cependant si je la transforme en
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT [PERIODE], sum([a]) as [a], sum([b]) as [b] INTO table2 FROM (SELECT PERIODE,NOM,VALEUR FROM table1) as sourcetable PIVOT (sum([VALEUR]) for [NOM] in (a,b)) as pivottable GROUP BY PERIODE ORDER BY PERIODE;
J'ai alors une erreur " Invalid column name 'valeur' ".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT [PERIODE], sum([a]) as [a], sum([b]) as [b], sum([VALEUR]) as TOTAL INTO table2 FROM (SELECT PERIODE,NOM,VALEUR FROM table1) as sourcetable PIVOT (sum([VALEUR]) for [NOM] in (a,b)) as pivottable GROUP BY PERIODE ORDER BY PERIODE;
Merci d'avance pour toute suggestion
Partager