首页 > 解决方案 > 如何在不使用游标的情况下在 SQL 中使用 FOR 循环

问题描述

我是 SQL 的初学者,更熟悉 oob 语言,所以试图弄清楚如何使用循环一直是一件令人头疼的事情。如果有人熟悉一个好的资源,我真的很感激?

关于这个问题。

我有一个表,其中第 1 列是百分比回报,然后第 2 列有一个起始值,否则为空。

首先,我想将第 2 行第 2 列更新为等于第 1 行第 2 列金额乘以第 2 行第 1 列。然后,对于表格的其余部分,我想取第 2 列中最近使用的单元格中的金额(在我们的示例中,它将是第 1 行),然后将其乘以第 3 行第 1 列中的百分比回报。

所以这是起始表:

column 1| column 2    
,,,     |  10    
1.1     |     
1.2     |    
1.05    |

然后是结果表

column 1| column 2    
,,      |   10    
1.1     |   11    
1.2     |  13.2    
1.05    |  13.86

标签: sqlloopscursor

解决方案


SQL 中的“for 循环”是通过游标完成的。

但请查看 SQL 函数 LEAD 和 LAG。

它们将涵盖您所描述的内容,即了解/使用 2 个相邻行的值的能力。


推荐阅读