sum(case when SaleOutRtnFlag=1 then ExchangeRate*ActualAmount else 0 end) TotalOutActualAmount, --货款 sum(case when SaleOutRtnFlag=-1 then ExchangeRate*ActualAmount else 0 end) TotalRtnActualAmount, --退款 sum(TotalOutActualAmount+TotalRtnActualAmount-AccReceiptAmount) QK, --欠款
时间: 2023-12-03 13:14:37 浏览: 70
模拟退火法 0-1背包问题
这段SQL语句中,包含了三个SUM函数,分别用于计算“货款”、“退款”和“欠款”。
第一个SUM函数:
```
sum(case when SaleOutRtnFlag=1 then ExchangeRate*ActualAmount else 0 end) TotalOutActualAmount
```
该函数的作用是计算货款总额。其中,SaleOutRtnFlag为销售出库标识,如果其值为1,表示为销售出库单;ExchangeRate为汇率,ActualAmount为实际金额。如果SaleOutRtnFlag为1,则计算ExchangeRate*ActualAmount,否则返回0。最后,使用SUM函数将所有货款金额相加得到货款总额。
第二个SUM函数:
```
sum(case when SaleOutRtnFlag=-1 then ExchangeRate*ActualAmount else 0 end) TotalRtnActualAmount
```
该函数的作用是计算退款总额。其中,SaleOutRtnFlag为销售出库标识,如果其值为-1,表示为销售退货单;ExchangeRate为汇率,ActualAmount为实际金额。如果SaleOutRtnFlag为-1,则计算ExchangeRate*ActualAmount,否则返回0。最后,使用SUM函数将所有退款金额相加得到退款总额。
第三个SUM函数:
```
sum(TotalOutActualAmount+TotalRtnActualAmount-AccReceiptAmount) QK
```
该函数的作用是计算欠款总额。其中,TotalOutActualAmount为货款总额,TotalRtnActualAmount为退款总额,AccReceiptAmount为已收款总额。将货款总额和退款总额相加,再减去已收款总额,即可得到欠款总额。最后,使用SUM函数将所有欠款金额相加得到欠款总额。
阅读全文