最新の行と現在の行の両方をSQLクエリに含めるには、自己結合を行う必要があります...
Select c.InvNo, c.inStock current, r.InStock Previous
From table c join table r
on r.invNo = c.invNo
And r.AdjustedOn =
(Select Max(AdjustedOn)
From table
Where invNo = c.InvNo
And adjustedOn < c.AdjustedOn)
Where c.InStock >= r.Instock + 10 Or
c.Instock <= r.Instock - 10
これにより、その時点での変更が前回の変更から 10 以上あったすべての行が得られますが、最新の変更より前に過去に発生した変更が含まれます。クエリに最新の変更を表す行のみを含める場合は、別の述語サブクエリを外側の SQL に追加します...
Select c.InvNo, c.inStock current, r.InStock Previous
From table c join table r
on r.invNo = c.invNo
And r.AdjustedOn =
(Select Max(AdjustedOn)
From table
Where invNo = c.InvNo
And adjustedOn < c.AdjustedOn)
Where (c.InStock >= r.Instock + 10 Or
c.Instock <= r.Instock - 10)
And c.AdjustedOn =
(Select Max(AdjustedOn)
From table
Where invNo = c.InvNo)