Pozadí Info Mám velký stůl 400 + řádky, které denně změny (jeden den údaje vypadne, že následná dat nové dní kapky) Tabulka je rozdělena na ‚Den‘ pole, takže existuje 31 paritions. Každý řádek v tabulce obsahuje data podobná této:
ID, Postcode, DeliveryPoint, Quantity, Day, Month
1 SN1 1BG A1 6 29 1
2 SN1 1BG A1 1 28 1
3 SN1 1BG A2 2 27 1
4 SN1 1BG A1 3 28 1
5 SN2 1AQ B1 1 29 12
6 SN1 1BG A1 2 26 12
Musím vytáhnout 7 dní dat ve formátu:
Postcode, Deliverypoint, 7dayAverage, Day1,day2,Day3,Day4,Day5,Day6,Day7
SN1 1BG A1 2 0 1 2 1 3 4 0
Mohu snadno extrahovat data za 7 dní, ale je třeba vytvořit sloupovitý verzi, jak je uvedeno výše.
Mám něco takového:
select postcode,deliverypoint,
sum (case day when 23 then quantity else 0 end) as day1,
sum (case day when 24 then quantity else 0 end) as day2,
sum(case day when 25 then quantity else 0 end) as day3,
sum(case day when 26 then quantity else 0 end) as day4,
sum(case day when 27 then quantity else 0 end) as day5,
sum(case day when 28 then quantity else 0 end) as day6,
sum(case day when 29 then quantity else 0 end) as day7,
sum(quantity)*1.0/@daysinweek as wkavg
into #allweekdp
from maintable dp with (nolock)
where day in (select day from #days)
group by postcode,deliverypoint
kde #days má čísla den v sedm dnů.
Ale jak vidíte, jsem pevně čísla denně do dotazu, chci se dostat ven z mé dočasné tabulkové #days ale nevidí způsob, jak to udělat (pole by bylo ideální zde)
Nebo budu o tom v úplně špatným směrem?
S přátelským pozdravem
Steve