Torna al Thread

USE tempdb; CREATE TABLE dbo.Notifiche( id int IDENTITY(1,1) NOT NULL, codalbergo int NOT NULL, codcomune int NOT NULL, tiponotifica int NOT NULL, mese int NOT NULL, anno int NOT NULL, CONSTRAINT PK_Notifiche PRIMARY KEY(id) ); INSERT dbo.Notifiche VALUES (1,60002,0,1,2008); INSERT dbo.Notifiche VALUES (1,60002,0,2,2008); INSERT dbo.Notifiche VALUES (1,60002,0,3,2008); INSERT dbo.Notifiche VALUES (1,60002,1,3,2008); INSERT dbo.Notifiche VALUES (2,60002,0,1,2008); SELECT CodAlbergo , CodComune , TipoNotifica , CASE [1] WHEN 1 THEN 'Si' Else 'No' END AS Gennaio , CASE [2] WHEN 1 THEN 'Si' Else 'No' END AS Febbraio , CASE [3] WHEN 1 THEN 'Si' Else 'No' END AS Marzo , CASE [4] WHEN 1 THEN 'Si' Else 'No' END AS Aprile , CASE [5] WHEN 1 THEN 'Si' Else 'No' END AS Maggio , CASE [6] WHEN 1 THEN 'Si' Else 'No' END AS Giugno , CASE [7] WHEN 1 THEN 'Si' Else 'No' END AS Luglio , CASE [8] WHEN 1 THEN 'Si' Else 'No' END AS Agosto , CASE [9] WHEN 1 THEN 'Si' Else 'No' END AS Settembre , CASE [10] WHEN 1 THEN 'Si' Else 'No' END AS Ottobre , CASE [11] WHEN 1 THEN 'Si' Else 'No' END AS Novembre , CASE [12] WHEN 1 THEN 'Si' Else 'No' END AS Dicembre , Anno FROM ( SELECT CodAlbergo , CodComune , TipoNotifica , Mese , Anno FROM dbo.Notifiche ) AS SourceTable PIVOT ( COUNT(Mese) FOR Mese IN ( [1] , [2] , [3] , [4] , [5] , [6] , [7] , [8] , [9] , [10] , [11] , [12] ) ) AS PivotTable; /* Output: CodAlbergo CodComune TipoNotifica Gennaio Febbraio Marzo Aprile Maggio Giugno Luglio Agosto Settembre Ottobre Novembre Dicembre Anno ----------- ----------- ------------ ------- -------- ----- ------ ------ ------ ------ ------ --------- ------- -------- -------- ----------- 1 60002 0 Si Si Si No No No No No No No No No 2008 1 60002 1 No No Si No No No No No No No No No 2008 2 60002 0 Si No No No No No No No No No No No 2008 (3 row(s) affected) */ DROP TABLE dbo.Notifiche;
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5