【发布时间】:2019-10-15 21:49:28
【问题描述】:
我有以下示例 Oracle APEX 报告,其中 Origin ID 和 Origin Name 是从 origin_tab(id,origin_id,origin_name) 检索到的
基于这两个列值,我需要动态生成 Temporary Origin ID 值,作为从 origin_tab 检索选择的一部分。
这背后的规则是 - 如果 Origin Name 与 Origin ID 相同,则在破折号之前取 Origin ID 值,并为每个 Orgin ID 附加一个 3 位序列,如下例所示。
由于前两条记录的源名称 (AAA) 相同,因此将“001”附加到源 id 1111。对于 BBB 也是如此,将 '002' 附加到这三个记录等等。
请注意这里的Temporary Origin ID是一个字符串。
Origin ID Origin Name Temporary Origin ID
----------------- ------------------ --------------------
1111-1 AAA 1111001
1111-2 AAA 1111001
1111-3 BBB 1111002
1111-4 BBB 1111002
1111-5 BBB 1111002
1111-6 CCC 1111003
1111-7 DDD 1111004
1111-8 DDD 1111004
对于 Temporary Origin ID,我应该在查询中采用什么方法来实现上述结果?
【问题讨论】:
标签: sql oracle oracle-apex oracle12c