CRM-18439 - Report Fixes to include Full Group by clause
[civicrm-core.git] / CRM / Report / Form / Mailing / Bounce.php
index 82e1b0a6ac58cb2de7dbdd8d319b9e4a089acbd3..6aa4b8dd555ef99bc8a3b3177ccb4f5e79d19ab4 100644 (file)
@@ -268,6 +268,7 @@ class CRM_Report_Form_Mailing_Bounce extends CRM_Report_Form {
       $this->_columnHeaders["civicrm_mailing_bounce_count"]['title'] = ts('Bounce Count');
     }
 
+    $this->_selectClauses = $select;
     $this->_select = "SELECT " . implode(', ', $select) . " ";
   }
 
@@ -358,11 +359,13 @@ class CRM_Report_Form_Mailing_Bounce extends CRM_Report_Form {
 
   public function groupBy() {
     if (!empty($this->_params['charts'])) {
-      $this->_groupBy = " GROUP BY {$this->_aliases['civicrm_mailing']}.id";
+      $groupBy = "{$this->_aliases['civicrm_mailing']}.id";
     }
     else {
-      $this->_groupBy = " GROUP BY {$this->_aliases['civicrm_mailing_event_bounce']}.id";
+      $groupBy = "{$this->_aliases['civicrm_mailing_event_bounce']}.id";
     }
+    $this->_groupBy = " GROUP BY {$groupBy}";
+    $this->_groupBy .= CRM_Contact_BAO_Query::getGroupByFromSelectColumns($this->_selectClauses, $groupBy);
   }
 
   public function postProcess() {