oracle OAS -来自不同水平的2个亲本agg的总和

de90aj5v  于 2023-08-03  发布在  Oracle
关注(0)|答案(1)|浏览(95)

假设我有下一个层次结构(为便于解释而简化)
A1 - A11 -A111-A1111-A11111-A11111111111-A111111111-A1111111-A111111111-A1111111-A11111111
A1 - A12 - A121 - A1211(地址:A1-A12)
地下一层-地下十一层-地下一层-地下一层
MY事实数据表:
标识分类金额
1元商品A1211 10元
1元A1111 20
1元B1111 40
我希望聚合B1(级别1)和A12(级别2)为一个值
标识合计金额

  1. 50人
    我正在与ORACLE分析服务器和RPD合作。
    到目前为止还没有结果。
    正常情况下,聚合发生在同一层,不知道该怎么办
hmae6n7t

hmae6n7t1#

在上面的例子中,你的聚合基本上应该发生在一个子字符串上。因此,您可以使用LEFT函数来实现这一点,并将其修剪到您的级别。“A1”,“A12”,“A123”就像3个级别。也就是说,即使可以在RPD中执行此操作,最好的位置显然是数据库级别。仔细想想,您在RPD中实现的每个逻辑都会被逐行解释。对于您解析的每一行。这意味着性能损失。tl;dr可能但不一定是最佳点

相关问题