這是一個聚合查詢。但是,它會爲您想要的每個時間段獲取變量,然後每天進行總計以進行最終計算。
select product,
sum(DailySum*IsToday) as Today,
sum(1.0*DailySum*IslastMonth)/sum(IslastMonth)
sum(1.0*DailySum*IsYTD)/sum(IsYTD)
from (select product, cast(dt as date) as thedate, sum(val) as DailySum
(case when cast(dt as date) = cast(getdate() as date) then 1 else 0 end) as IsToday,
(case when year(dt) = year(dateadd(month, -1, getdate()) and month(dt) = month(dateadd(month, -1, getdate())
then 1 else 0
end) as IslastMonth,
(case when year(dt) = year(getdate()) tehn 1 else 0
end) as IsYTD
from t
group by product, cast(dt as date)
) t
) t
你可以給我們提出你的疑問plz – Marc
你可以給你的表的定義嗎? – PearsonArtPhoto
如果你已經有一些工作,那麼你爲什麼尋找替代品?您想要解決的當前解決方案有哪些問題? – Pondlife