У меня есть таблица с несколькими полями, как показано нижеОбновление текущей и следующей строки в таблице
ID | OpeningBal | A | B | C | D | ClosingBal
Здесь открытие сальдо текущего дня закрытия баланса предыдущего дня и закрытия баланса вычисляется по формуле
OpeningBal + A - B - (C + D) - C
, но текущие данные неверны в этой таблице из-за неправильной формулы, примененной ранее для баланса закрытия. Я пробовал, как перебирать все записи этой таблицы и обновлять баланс закрытия до фактического значения. Я хочу обновить баланс открытия следующей строки с остатком закрытия текущей строки в этом курсоре, но у меня нет идентификатора следующей строки. Есть предположения?
Фактический результат:
ID OPBal A B C D CLBal
1 0 80 4 6 0 90
2 90 8 6 0 0 104
5 104 5 4 0 9 122
7 122 10 3 5 0 140
ожидаемый результат:
ID OPBal A B C D CLBal
1 0 80 4 6 0 64
2 64 46 6 0 0 104
5 104 5 4 0 9 96
7 96 10 3 5 0 93
Какая версия сервера sql используется? –
@vkp 12.0.5000.0 – Keppy
Если вы используете курсор, сохраните баланс закрытия в переменной, и когда вы переходите к следующей строке, используйте этот сохраненный баланс закрытия, чтобы обновить текущий начальный баланс. –