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;