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;