我有一个佣金条带表,其中包含以下内容:
Lower Upper Percentage
0 300 45
300.01 800 50
800.01 1500 55
Run Code Online (Sandbox Code Playgroud)
下限和上限金额是货币值,我需要使用与总销售额相关的百分比金额,根据总销售额计算累计支付金额.
如果我的总销售额为350,我的佣金应计算如下:
总数中的前300个将使用45%,剩下的50个将使用50%,所以我的总数将是
300*45% = 135
50*50% = 25
Total = 160
我正在通过一个sproc更新一个表的数量,所以需要在那里容纳这个.
怎样才能解决这个问题?
注意:下面的sproc具有正确的列名,如上例所示,为了简单起见,我更改了列的名称.SPROC还加入了存储波段的表,更新表是一种工作/报告表
编辑:sproc更新部分:
UPDATE CommissionCalculationDetails
SET TotalCommissionAmount =
case
when TotalSales > Upper then Upper
when TotalSale > Lower then @sales - Lower
else 0
end
* Percentage / 100
FROM CommissionCalculationDetails
LEFT JOIN CommissionBand
ON TotalSales > CommissionBand.Lower
AND TotalSales < CommisionBand.Upper
Run Code Online (Sandbox Code Playgroud)