用視窗函數 LEAD 的做法,參考看看
DECLARE @Temp TABLE (
[日期] date ,
[商品名稱] char(2) ,
[售價] money)
INSERT INTO @Temp ([日期] , [商品名稱] , [售價]) VALUES
('20210101' , 'AA' , 100),
('20210101' , 'BB' , 10),
('20210101' , 'CC' , 20),
('20210102' , 'AA' , 111),
('20210102' , 'BB' , 9),
('20210102' , 'CC' , 21)
SELECT
T.* ,
[隔日售價] - [售價] ,
(([隔日售價] - [售價]) / NULLIF([售價] , 0))
FROM
(
SELECT
* ,
LEAD([售價], 1, NULL) OVER (PARTITION BY [商品名稱] ORDER BY [日期]) AS [隔日售價]
FROM @Temp
) AS T
WHERE (([隔日售價] - [售價]) / NULLIF([售價] , 0)) > 0.1