我的以下SQLite数据库:
解释巴西税收收入:
a)如果我有损失,我不需要支付任何税款(例如:一月)
B)可以从下一个月的阳性结果中减去阴性结果(例如:在二月份,该税只适用于(5942 - 3200)= 2742,而不是支付5942美元的全部税款。
c)如果前一次的负面结果不足以覆盖下一次的正面结果,我就得交税(例如:在9月份,我可以从6月份和7月份进行补偿,但我必须从8月份进行合计(例如:纳税总额= -5000 -2185 +5000 +3000 = 815)
我的目标是构建下表:
我想不出解决这个问题的方法。有什么帮助吗?
标记
1条答案
按热度按时间q5iwbnjs1#
这里需要使用递归CTE。如果你不熟悉这个特性,你可以查看我的tutorial,该教程中引用的官方文档,以及Internet上提供的任何数量的其他教程。
首先,我使用下面的 source CTE块中的 row_numberWindow function生成临时行号(将“RESULTS”替换为表名)。然后使用递归CTE(* loss *)计算前几个月的剩余损失,可用于减少您的税款。(如果您不熟悉递归CTE,这一部分可能很难理解。)最后,如果必要,我将计算针对以前的剩余损失调整的应纳税总额。