Как уже упоминалось в комментариях, вы можете использовать LAG, но если вы используете более раннюю версию, чем 2012, вы можете самостоятельно присоединиться к таблице, используя дату - 1 день и название продукта.
CREATE TABLE #TEMP(ProductName varchar(1), [Date] Date, Sales int)
INSERT INTO #TEMP VALUES
('a', '07/01/2019', 5),
('a', '07/02/2019', 10),
('a', '07/03/2019', 15),
('a', '07/04/2019', 20),
('b','07/01/2019', 5),
('b','07/02/2019', 10),
('b','07/03/2019', 15),
('b','07/04/2019', 20)
--drop table #TEMP
SELECT
a.ProductName,
a.[Date],
a.Sales,
b.[Date],
b.Sales,
a.Sales - b.Sales as difference
FROM #TEMP a
LEFT JOIN #TEMP b ON b.[Date] = DATEADD(day, -1, a.[Date])
AND b.ProductName = a.ProductName
Выход
ProductName Date Sales Date Sales difference
----------- ---------- ----------- ---------- ----------- -----------
a 2019-07-01 5 NULL NULL NULL
a 2019-07-02 10 2019-07-01 5 5
a 2019-07-03 15 2019-07-02 10 5
a 2019-07-04 20 2019-07-03 15 5
b 2019-07-01 5 NULL NULL NULL
b 2019-07-02 10 2019-07-01 5 5
b 2019-07-03 15 2019-07-02 10 5
b 2019-07-04 20 2019-07-03 15 5