Jag gjorde några antaganden om de uppgifter du publicerade.
Först anger alla värden som du har lagt upp året som 2011
men de sista slutdatumen som kolumnrubriker motsvarar inte 2011
, de är Sunday
värden för 2012
så jag ändrade uppgifterna. Även den sista posten av Early ASN 8/15/2011 12:00
, tror jag är tänkt att vara ett Late ASN
annars stämmer summan som ska göras överens.
För att få resultaten vill du använda PIVOT
fungera. Med den här funktionen kan du aggregera värdena och sedan konvertera dem till kolumner.
SET DATEFIRST 1 -- set this so the start of the week is Sunday
select InstanceType,
sum([39]) as Sep_23,
sum([38]) as Sep_16,
sum([37]) as Sep_09,
sum([36]) as Sep_02,
sum([35]) as Aug_26,
sum([34]) as Aug_19
from
(
select SPGI01_INSTANCE_TYPE_C as InstanceType,
[39], [38], [37], [36], [35], [34]
from
(
select SPGI01_INSTANCE_TYPE_C,
DatePart(wk, SPGI01_CREATE_S) WeekNo,
DATEADD(DAY, 7 -DATEPART(WEEKDAY,SPGI01_CREATE_S),SPGI01_CREATE_S) WeekEnd
from table1
) x
pivot
(
count(WeekEnd)
for weekno in ([39], [38], [37], [36], [35], [34])
) p
) x1
group by InstanceType with rollup