У меня рекурсивный CTE, и я пытаюсь использовать лаг. Однако задержка возвращает только значение по умолчанию (в данном случае 0). Мне нужно это отставание, чтобы вычислить работающий продукт из последних 7 чисел, который затем будет использован в другом рекурсивном вычислении. Вот мой код:
WITH f2(n,q,qlag) as(
SELECT 0,1E0,1E0
UNION ALL
SELECT f2.n+1
,f1.q
,LAG(f1.q,7,0) OVER(Order by f1.n)
FROM
f2
join f1
on f1.n=f2.n
)
SELECT *
FROM f2
Есть ли способ использовать значения из предыдущей строки (в данном случае 7) в рекурсивном CTE?