2
我真的SQL Server 2012中編寫這個SQL函數如何使用滯後功能在SQL Server 2008
;With Quote as (
SELECT SID,SHEET,Code, Date, Data,
LAG(Data) OVER(ORDER BY Date) As LastMonthData
FROM RMQ_DATA WHERE [SHEET] IN(0)
)
SELECT [Quote].[SID], Quote.DATE,Quote.DATA,Quote.SHEET, Quote.CODE,
CASE
WHEN ISNULL(LastMonthData, 0) = 0 THEN null
ELSE (LastMonthData/Data) * 100
END As Quote,
RMQ_SUBCAT.TARGET_CODE, RMQ_SUBCAT.RMQ_SUBCAT, RMQ_CAT.RMQ_CAT_NAME,
RMQ_CAT.ENABLED
FROM Quote
Left outer Join RMQ_SUBCAT on Quote.CODE =RMQ_SUBCAT.TARGET_CODE
left outer join RMQ_CAT on RMQ_SUBCAT.TARGET_SID=RMQ_CAT.SID
where RMQ_CAT.ENABLED='Y' and
Quote.DATE between '2015/01/01' and '2015/11/01'
,但在第一線
With Quote as (
SELECT SID,SHEET,Code, Date, Data,
LAG(Data) OVER(ORDER BY DATE)
** LAG(數據)我有一個錯誤。所以我不知道如何在SQL Server 2008中使用LAG()函數。
任何人都可以幫助我嗎?
當我使用你的函數,我真的越來越錯誤。你有任何想法如何解決它 –
@ekremtapan有一個錯誤。請檢查我所做的修改。 –
感謝您的支持;) –