如何对 oracle apex 集合中的列求和

How to SUM a column in an oracle apex collection

所以我试图输出集合中一列的总数。

这是我尝试的第一个查询

select sum(C007),sum(C007) A FROM APEX_COLLECTIONS WHERE COLLECTION_NAME='PURCHASE'

这是我尝试的第二个查询

select sum(C005*C007),sum(C005*C007) A FROM APEX_COLLECTIONS WHERE COLLECTION_NAME='PURCHASE'

两者产生相同的结果,列出了对它们求和的列中的所有值

预期结果:

10

实际结果:

2
2
2
2
2

请帮忙

看来你做错了什么。

我创建了示例页面;它包含一个按钮(仅提交页面)和一个显示总计(集合值的总和)的项目。项目由包含 所有内容(为简单起见)的进程填充:

if not apex_collection.collection_exists('PURCHASE') then
   apex_collection.create_collection('PURCHASE');
end if;

apex_collection.add_member(
  p_collection_name => 'PURCHASE',
  p_c001            => 'Little',
  p_c007            => 100);              --> 100 ...
apex_collection.add_member(
  p_collection_name => 'PURCHASE',
  p_c001            => 'Foot',
  p_c007            => 200);              --> ... + 200 = 300

select sum(c007)
  into :P7_TOTAL
  from apex_collections
  where collection_name = 'PURCHASE';

当 运行 时(以及按下按钮后),项目的值是 - 正如预期的那样 - 300