如何使用Outsystems中的聚合或查询获取每个帐户的最后一笔交易?

时间:2019-04-11 12:37:40

标签: sql outsystems aggregates

我有“帐户”实体和“交易”实体。

这里一个帐户可以进行多个交易。

我的问题是

如何通过在系统外使用聚合或查询来获得每个帐户的最后一笔交易??

2 个答案:

答案 0 :(得分:2)

就像我在上一个问题中所说的那样,对于与OutSytems相关的问题,最好使用OutSystems forum而不是stackoverflow!

对于您的问题,使用聚合很难做到这一点;如果需要,您可以在交易日期使用Max()添加帐户实体并加入交易实体。但是,您无法以这种方式获取ID。您还可以在ID上使用Max(),该ID应该是连续的,但是在某些情况下并不需要(取决于创建交易的方式)。

使用SQL,您可以在ID上使用带有联接的子查询,该子查询的前1位按日期排序。但这只是标准的SQL,与OutSystems无关。

答案 1 :(得分:0)

我知道如何使用Aggregate做到这一点的唯一方法是再次将具有交易的帐户和与之交易的帐户(如图中所示)重新加入,使用过滤器仅返回其中Transaction_2.Id为NullIdentifier()的记录< / p>

但是我强烈建议您在这种情况下使用SQL,因为聚合将执行交叉连接,这将成为性能杀手,而使用SQL,您可以执行所需的操作而无需使用交叉连接。

enter image description here

所以,这只是一项智能练习,不是您应该做的事情。

继续,请勿对此类数据提取使用汇总。首选使用SQL工具。

(来自此处给出的相同答案:https://www.outsystems.com/forums/discussion/47012/how-to-get-last-transaction-of-every-account-using-aggregates/

干杯。