当我们使用OutSystems开发统计功能时,如果你有后台开发经验,通常都是使用sql或者orm给你实现根据某些条件聚合数据,换言之如果用sql来写的话,就是类似 sum(case when…) 这种写法。
OutSystems实现带条件聚合功能
假如我们有如下结构的一张Transaction表:
再有一张交易类型的表,这张表里面设定了系统支持的交易类型,当然这个例子来源于OutSystems官方Demo,感兴趣的朋友可以自己找到。你可以理解为左图是TransactionType(交易类型)表设计,右图是该表的数据。
在实现聚合统计功能时,或多或少会遇到根据某些条件进行聚合计算,例如统计交易类型为Interest的Amount,那么我们使用SQL来写的话,大概逻辑如下:
SELECT AccountId,
Sum(convert(decimal(37,8), (CASE WHEN TransactionType = 6 THEN Amount ELSE 0 END))) Amount
FROM Transaction
WHERE -- Other Filter,其它筛选条件
GROUP BY AccountId
原文地址:OutSystems实现带条件聚合功能,零SQL实现https://jhrs.com/2024/50231.html