From: Web Access Date: Mon, 15 Jun 2015 14:26:48 +0000 (+0530) Subject: CRM-16636 duplicate primary addresses causes error in report X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=79b09fee2576aeb22015d72355ec2629c09c158c;p=civicrm-core.git CRM-16636 duplicate primary addresses causes error in report --- 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();