我想用AMDP方法中的纯SQL语句来解决这个问题,我可以在ABAP中轻松地解决这个问题,甚至在使用循环的AMDP方法中也是如此,但是正如我所说的,我想用SQL语句来解决这个问题,而不需要使用任何类型的循环。
请看一下这张图片:

我有两列,第一列是D,第二列是E
D列是SELECT SUM的结果,但E列是计算的列,它应该按照以下方式工作:
两列的第一行均为等于D1
就是这样。是否可以用纯SQL语句来解决这个问题?
发布于 2021-10-18 21:31:41
将和放在子查询中,然后从该子查询中进行选择以及行号。将其插入临时表中。然后从该临时表中选择,并根据行号对同一表执行连接,查找前一行。
SELECT D, ROW_NUMBER() AS ROW_NUM
INTO #TempTable
FROM (SELECT SUM() AS D FROM table) a
SELECT
t1.D
,CASE
t2.D IS NULL THEN t1.D
ELSE t2.D + t1.D AS E
FROM #TempTable t1
LEFT JOIN #TempTable t2 ON t1.ROW_NUM = t2.ROW_NUM + 1https://stackoverflow.com/questions/69622709
复制相似问题