protected static function makeChartSqlQuery() { $quote = DatabaseCompatibilityUtil::getQuote(); $where = null; $selectDistinct = false; $joinTablesAdapter = new RedBeanModelJoinTablesQueryAdapter('Contract'); Contract::resolveReadPermissionsOptimizationToSqlQuery(Yii::app()->user->userModel, $joinTablesAdapter, $where, $selectDistinct); $selectQueryAdapter = new RedBeanModelSelectQueryAdapter($selectDistinct); $sumPart = "{$quote}currencyvalue{$quote}.{$quote}value{$quote} "; $sumPart .= "* {$quote}currencyvalue{$quote}.{$quote}ratetobase{$quote}"; $selectQueryAdapter->addClause('customfield', 'value', 'source'); $selectQueryAdapter->addClauseByQueryString("sum({$sumPart})", 'amount'); $joinTablesAdapter->addFromTableAndGetAliasName('customfield', 'source_customfield_id', 'contract'); $joinTablesAdapter->addFromTableAndGetAliasName('currencyvalue', 'amount_currencyvalue_id', 'contract'); $groupBy = "{$quote}customfield{$quote}.{$quote}value{$quote}"; $sql = SQLQueryUtil::makeQuery('contract', $selectQueryAdapter, $joinTablesAdapter, null, null, $where, null, $groupBy); return $sql; }