Loading

How can I aggregate (SUM) the amount?

게시 일자: Jan 28, 2026
상세 설명

I wrote the following code to get a total amount, but it returns an error.

Code
TotalCharges__c = [SELECT sum(EntryCharge__c) FROM AllocationTable__c WHERE id=:id];

TotalCharges__c: currency
EntryCharge__c: expression (currency)

Error
Save error: Illegal assignment from LIST<AggregateResult> to Decimal CalculateCharge.trigger

솔루션

To use an aggregation function, use the AggregateResult type. In addition, it is necessary to use valueof method for each type to convert the type, because the aggregation result data cannot be stored to a Decimal variable directly.

For specifics, refer to the sample below:

*******************************
AggregateResult ar = [SELECT sum(EntryCharge__c) s FROM AllocationTable__c WHERE id=:id];  
TotalCharges__c = decimal.Valueof(string.valueof(ar.get('s')));  
system.debug('data = '+String.valueof(j.TotalCharges__c));  
******************************* 

For String type conversion, refer to this topic.

 

Knowledge 기사 번호

000385401

 
로드 중
Salesforce Help | Article