From 79b09fee2576aeb22015d72355ec2629c09c158c Mon Sep 17 00:00:00 2001 From: Web Access Date: Mon, 15 Jun 2015 19:56:48 +0530 Subject: [PATCH] CRM-16636 duplicate primary addresses causes error in report --- CRM/Report/Form/Member/ContributionDetail.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/CRM/Report/Form/Member/ContributionDetail.php b/CRM/Report/Form/Member/ContributionDetail.php index c94be55844..965da7783c 100644 --- a/CRM/Report/Form/Member/ContributionDetail.php +++ b/CRM/Report/Form/Member/ContributionDetail.php @@ -610,10 +610,13 @@ class CRM_Report_Form_Member_ContributionDetail extends CRM_Report_Form { public function statistics(&$rows) { $statistics = parent::statistics($rows); - $select = " SELECT COUNT({$this->_aliases['civicrm_contribution']}.total_amount ) as count, SUM( {$this->_aliases['civicrm_contribution']}.total_amount ) as amount, ROUND(AVG({$this->_aliases['civicrm_contribution']}.total_amount), 2) as avg, {$this->_aliases['civicrm_contribution']}.currency as currency "; + $select = "SELECT DISTINCT {$this->_aliases['civicrm_contribution']}.id"; - $group = "\nGROUP BY {$this->_aliases['civicrm_contribution']}.currency"; - $sql = "{$select} {$this->_from} {$this->_where} {$group}"; + $group = "\nGROUP BY cc.currency"; + + $sql = "SELECT COUNT(cc.id) as count, SUM( cc.total_amount ) as amount, ROUND(AVG(cc.total_amount), 2) as avg, cc.currency as currency + FROM civicrm_contribution cc + WHERE cc.id IN ({$select} {$this->_from} {$this->_where}) {$group}"; $dao = CRM_Core_DAO::executeQuery($sql); $totalAmount = $average = array(); -- 2.25.1