Torna al Thread

USE tempdb; CREATE TABLE dbo.T1( DATA datetime, PREZZO int, PEZZI int ); INSERT INTO dbo.T1 VALUES ('20070102', 4, 3); INSERT INTO dbo.T1 VALUES ('20060102', 4, 3); INSERT INTO dbo.T1 VALUES ('20050102', 4, 3); INSERT INTO dbo.T1 VALUES ('20070202', 4, 3); INSERT INTO dbo.T1 VALUES ('20070302', 4, 3); INSERT INTO dbo.T1 VALUES ('20050202', 4, 3); SELECT Anno, [1], [2], [3], [4], [5], [6] , [7], [8], [9], [10], [11], [12] FROM ( SELECT YEAR(Data) AS Anno , MONTH(Data) AS Mese , Prezzo * Pezzi AS Totale FROM dbo.T1 ) AS SourceTable PIVOT ( SUM(Totale) FOR Mese IN ( [1], [2], [3], [4], [5], [6] , [7], [8], [9], [10], [11], [12] ) ) AS PivotTable; /* Output: Anno 1 2 3 4 5 6 7 8 9 10 11 12 ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- 2005 12 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 2006 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 2007 12 12 12 NULL NULL NULL NULL NULL NULL NULL NULL NULL (3 row(s) affected) */ DROP TABLE dbo.T1;
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5