Salve,
vorrei realizzare un SP, con SQL Server 2000 che faccia la seguente cosa:
ho inizialmente la seguente tabella :
USE tempdb;
CREATE TABLE [Table1] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[matricola] [tinyint] NOT NULL ,
[anno_week] [char] (6) COLLATE Latin1_General_CI_AS NOT NULL ,
[quantita] [tinyint] NOT NULL ,
PRIMARY KEY CLUSTERED
(
[id]
) ON [PRIMARY]
) ON [PRIMARY]
GO
INSERT INTO [tempdb].[dbo].[Table1]( [matricola], [anno_week], [quantita])
VALUES(1,200601,42)
INSERT INTO [tempdb].[dbo].[Table1]( [matricola], [anno_week], [quantita])
VALUES(2,200603,60)
INSERT INTO [tempdb].[dbo].[Table1]( [matricola], [anno_week], [quantita])
VALUES(1,200633,22)
INSERT INTO [tempdb].[dbo].[Table1]( [matricola], [anno_week], [quantita])
VALUES(1,200629,10)
INSERT INTO [tempdb].[dbo].[Table1]( [matricola], [anno_week], [quantita])
VALUES(1,200701,10)
SELECT * FROM dbo.Table1
Results
------------------
id matricola anno_week quantita
------- --------- --------- --------
1 1 200601 42
2 2 200603 60
3 1 200633 22
4 1 200629 10
5 1 200701 10
(5 row(s) affected)
vorrei creare una SP, che una volta lanciata mi prenda questa tabella e mi crei una specie di trasposta di questo tipo:
Results
------------------
matricola 2006 2007
--------- --------- --------
1 74 10
2 60 0
in pratica nella colonna matricola vengono riportate le matricole univocamente da table1,
poi le colonne vengono create a secondo dei record che ci sono in table1.anno_week con
SUBSTRING(table1.anno_week,1,4), creando quindi una colonna per ogni anno, ed infine quest'ultime saranno riempire con la sommatoria di tutte le occorrenze per quell'anno e per quella matricola, come da esempio il primo record: ha 74 per il 2006 cioè
200601 +(42) 200633 +(22) 200629 +(10) = 74 per la matricola 1
spero di essere stato chiaro....
Vorrei dei consigli su come procedere, idee?
saluti
ENzo