我需要同时使用序列的GROUP BY和NEXTVAL。我怎么能做到这一点呢?我不确定如何修改查询以使其工作
SELECT BCS_RPT_AGGREGATOR_COSTCENTER_seq.nextval AS ID,
TO_DATE(TO_CHAR(brt.TRANSACTION_DATE, 'YYYY-MM-DD'), 'YYYY-MM-DD'),
brt.COST_CENTER,
COUNT(brt.COST_CENTER),
SUM(brt.COLLECTION_AMOUNT),
SUM(brt.COMMISSION_AMOUNT),
SUM(brt.SERVICE_FEE),
SUM(brt.BANK_INCOME_AMOUNT)
FROM BCS_RPT_TRANSACTION brt
WHERE brt.IS_AGGREGATED_C =0
AND brt.COST_CENTER = :costCenter GROUP BY brt.COST_CENTER,
TO_DATE(TO_CHAR(brt.TRANSACTION_DATE, 'YYYY-MM-DD'), 'YYYY-MM-DD');
2条答案
按热度按时间vjhs03f71#
不能在GROUP BY查询中使用SEQUENCE。您可以使用子查询按如下方式编辑查询:
3yhwsihp2#
简而言之,这是您所拥有的:
一种选择是使用Current Query(不带序列)作为子查询(或CTE,就像我在下面的示例中所做的那样),然后在主
select
中使用您收集的数据并添加序列号:然后,您的代码将如下所示: