Fellow Query Writers,
У меня есть следующая таблица:
myTable t1
col2 col3
2 1
3 0
4 0
5 0
6 0
, и я хочу обновить каждый ноль на col3 значением col3 в предыдущей строке плюс значениеиз col2 в текущей строке.Таким образом, мой стол будет выглядеть следующим образом:
myTable t1
col2 col3
2 1
3 4 (1+3)
4 8 (4+4)
5 13 (5+8)
6 19 (6+13)
Мне не хватает логики здесь, возможно, близорукости.Я пытался сделать это с помощью курсора следующим образом:
DECLARE @var3 FLOAT
DECLARE cursor3 CURSOR FOR
SELECT col2, col3 FROM table1
FOR UPDATE OF col3
OPEN cursor3
FETCH FIRST FROM cursor3
WHILE (@@FETCH_STATUS > -1)
BEGIN
UPDATE @table1
SET col3 = isnull(@var3, 0) + isnull(col2, 0)
WHERE CURRENT OF cursor3
FETCH NEXT FROM cursor3 INTO @var3
END
но это неправильно.Есть идеи?
Заранее спасибо.