DB: SQL Server 2005Colonnes dynamiques - SQL Server - Mois sous forme de colonnes
Nous avons une table qui contient des données de cette manière:
Project Year Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
-------------------- ----------- --------------------- --------------------- --------------------- --------------------- --------------------- --------------------- --------------------- --------------------- --------------------- --------------------- --------------------- ---------------------
11-11079 2008 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 75244.90
11-11079 2009 466.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11-11079 2010 855.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
01-11052 2009 56131.00 0.00 36962.00 -61596.00 2428.00 84.00 0.00 0.00 0.00 0.00 0.00 0.00
Quelqu'un souhaite que les données à afficher sur une seule ligne pour l'ensemble du projet. Les colonnes seraient dynamiques en fonction du nombre d'années passées dans le futur. Un exemple serait:
Project Jan-2009 Feb-2009 Mar-2009 Apr-2009... Dec-2009 Jan-2010
-------------- ------------ ------------ ------------ ----------- ------------ ---------
11-11079 466.00 0.00 0.00 0.00 0.00 855.00
01-11052 56131.00 0.00 36962.00 -61596.00 2428.00 0.00
J'ai lu de nombreux exemples où la date est rempli dans une colonne pour chaque entrée, mais je n'ai pas trouvé de cas où les mois sont le nom de la colonne et l'année est dans la ligne .
SQL dynamique avec une table pivotante?
Ou une manipulation à grande échelle en utilisant SQL, tables temporaires, jointures et unions?
Des réflexions sur l'utilisation de la fonction de table pivotante SSIS?
S'il vous plaît ne pas utiliser le terme « MS SQL » dans un titre ou dans votre question. Il n'y a pas un tel produit. En l'utilisant, il est difficile pour une recherche de trouver votre question et de confondre les choses entre SQL Server et MySQL. –
heh - Je l'ai ignoré les questions TSQL que je connais la réponse pour que je l'ai lu MSSQL MySQL –
John - ces noms sont proches et confus, mais en toute justice pour les gens qui postent ici, Microsoft SQL Server est appelé MSSQL d'une certaine façon. Jetez un oeil au chemin vers les binaires :-) C: \ Program Files \ Microsoft SQL Server \ MSSQL10.TEST2008 \ MSSQL Ou PowerShell> Get-Service, qui produit MSSQL $ TEST2008 comme nom du service, pour moi au moins. – onupdatecascade