У меня есть таблица SystemReading T-SQL, в которой хранятся показания счетчиков для системы водоснабжения.После того, как на данном сайте будет выполнено следующее чтение, мне нужно вычесть предыдущее чтение из текущего чтения, чтобы получить использование между двумя чтениями для вставки в таблицу SystemUsage.Первая таблица имеет ReadingID (идентификатор), SysMeterID (сайт счетчика), Reading, ReadingDate.Вторая таблица, моя таблица использования, имеет UsageID (идентификатор), SysMeterID (счетчик сайта), Usage, ReadingDate.Мне нужно убедиться, что в триггере используется только предыдущее чтение того же SysMeterID, что и текущее.Раньше я использовал CTE, чтобы найти это использование, но теперь мне нужно, чтобы оно автоматически вычислялось и вставлялось в новую таблицу использования.Любая помощь приветствуется.
Вот мой старый CTE для справки:
;WITH tblDifference as (
SELECT Row_Number() OVER (ORDER BY ReadingID) as RowNumber, Reading, SysMeterID, ReadingDate
FROM Supplydb.app.SystemReading
WHERE SysMeterID = 18
)
SELECT Cur.Reading, Cur.Reading - Prv.Reading as TotalPumped, cur.ReadingDate as Date
FROM tblDifference as Cur
LEFT OUTER JOIN tblDifference Prv
ON Cur.RowNumber = Prv.RowNumber+1
where cur.rownumber = 3
ORDER BY cur.ReadingDate DESC