【发布时间】:2023-03-17 10:00:01
【问题描述】:
一直在研究CTE递归,但似乎还是一头雾水。
我有表:utb(date, b_id, v_id, b_vol)
我需要得到该列的总和:b_vol。
问题是,如果 row_number 是偶数,我需要除,如果它是奇数,我需要相乘,所以本质上是:
P1= b_vol1, P2 = b_vol1/b_vol2, P3= b_vol1/b_vol2*b_vol3, P4= b_vol1/b_vol2*b_vol3/b_vol4
所以,基本上是 P(n)= (P(n-1)(*OR/(b_vol(n)))
我似乎不知道如何将其放入查询中。
感谢您抽出宝贵时间阅读本文。我希望你能帮忙。
【问题讨论】:
-
显示一些输入数据和预期的输出。
-
在这种情况下,请不要打扰,制作一个比递归 cte 更清晰的简单光标。
-
@vkp 我已经添加了所需的输出。列 (SV) 是唯一的新列,因此其他列是原始输入。
-
@GiorgiNakeuri 我将不得不研究一下光标是什么,谢谢你的想法!
标签: sql sql-server recursion common-table-expression