我發現使用CTE有助於保持代碼的組織和清潔。您需要重新格式化數字並與第二季度Q1相匹配的雜亂部分可以在那裏處理,您的主要查詢很簡單。
with NewSales (QtrDate, DisplayDate, Year, Quarter, Sales) as (
select
Year - 0.25 + (Quarter/4.0) as QtrDate,
cast(Year as varchar(10)) + '-Q' + cast(Quarter as varchar(10)) as DisplayDate,
Year, Quarter, Sales
from
@sales
)
select
a.DisplayDate, a.Sales,
b.DisplayDate, b.Sales,
b.Sales - a.Sales as SalesIncrease,
(b.Sales/(a.Sales * 1.0)) - 1 as SalesPctIncrease
from
NewSales a left outer join
NewSales b on a.QtrDate + 0.25 = b.QtrDate
where
a.Sales is not null and b.Sales is not null
我平添了幾分風騷的(最低限度:)同宿舍的格式和百分比計算,你可以使用這些例子來幫助自定義輸出,只要你願意。
哈!第5季度的好消息......哎呀! – digitalfrenchfry 2013-02-21 20:54:22