Please post DDL to create the table(s) and DML to insert row(s).
Thanks
To do this - you want to add a row number that defines the order of the rows. Once you have the row number - you then join back to that on the row number - 1.
WITH rows
AS (
SELECT *
, ROW_NUMBER() OVER(PARTITION BY Lot ORDER BY Date) As RowNum
FROM YourTable
)
SELECT *, PreviousBalance = COALESCE(b.QtyBalance, 0)
FROM rows a
LEFT JOIN rows b ON b.RowNum = a.RowNum - 1
Should get you started...