SQL-Server : dynamische pivot-über 5 Spalten

Ich habe eine sehr harte Zeit versucht, herauszufinden, wie zu tun, eine dynamische pivot in SQL Server 2008 mit mehreren Spalten.

Meine Beispiel-Tabelle wie folgt:

ID  YEAR  TYPE  TOTAL   VOLUME
DD1 2008    A   1000    10
DD1 2008    B   2000    20
DD1 2008    C   3000    30
DD1 2009    A   4000    40
DD1 2009    B   5000    50
DD1 2009    C   6000    60
DD2 2008    A   7000    70
DD2 2008    B   8000    80
DD2 2008    C   9000    90
DD2 2009    A   10000   100
DD2 2009    B   11000   110
DD2 2009    C   12000   120

und ich versuche, den Drehpunkt wie folgt:

ID  2008_A_TOTAL    2008_A_VOLUME   2008_B_TOTAL    2008_B_VOLUME   2008_C_TOTAL    2008_C_VOLUME   2009_A_TOTAL    2009_A_VOLUME   2009_B_TOTAL    2009_B_VOLUME   2009_C_TOTAL    2009_C_VOLUME
DD1 1000            10              2000            20              3000            30              4000            40              5000            50              6000            60
DD2 7000            70              8000            80              9000            90              10000           100             11000           110             12000           120

Mein SQL Server 2008 query wird wie folgt um die Tabelle zu erstellen:

CREATE TABLE ATM_TRANSACTIONS 
(
 ID varchar(5),
 T_YEAR varchar(4),
 T_TYPE varchar(3), 
 TOTAL int,
 VOLUME int
);

INSERT INTO ATM_TRANSACTIONS
(ID,T_YEAR,T_TYPE,TOTAL,VOLUME)

VALUES
('DD1','2008','A',1000,10),
('DD1','2008','B',2000,20),
('DD1','2008','C',3000,30),
('DD1','2009','A',4000,40),
('DD1','2009','B',5000,50),
('DD1','2009','C',6000,60),
('DD2','2008','A',7000,70),
('DD2','2008','B',8000,80),
('DD2','2008','C',9000,90),
('DD2','2009','A',10000,100),
('DD2','2009','B',11000,110),
('DD2','2009','C',1200,120);

Den T_Year Spalte kann sich ändern in der Zukunft, aber die T_TYPE Spalte ist in der Regel wissen,, so bin ich nicht sicher, ob ich kann mit einer Kombination der PIVOT-Funktion im SQL-Server mit dynamischen code?

Ich habe versucht, nach dem Beispiel hier:

http://social.technet.microsoft.com/wiki/contents/articles/17510.t-sql-dynamic-pivot-on-multiple-columns.aspx

aber ich landete mit mit seltsamen Ergebnissen.

InformationsquelleAutor Mkov | 2013-09-06
Schreibe einen Kommentar