@Evgeny-app

Неправильно считается сумма значений в таблице (yii php)?

Я создал таблицу и вывел туда значения, но при суммировании этих значений результат получается как то странный. кто нибудь знает в чем может быть дело?
d09ad8f5838b4104988c5d4f6206901d.png
foreach ($months as $key => $m)
            {
                if ($key > $max_month) break;
                
                $k = sprintf('%02.0d', ($key + 1));
                $fields .= ', '."\n SUM(".$m.'.active_count) as '.$m.'_active_count, SUM('.$m.'.active_sum) as '.$m.'_active_sum,
                              '."\n SUM(".$m.'.realized_count) as '.$m.'_realized_count, SUM('.$m.'.realized_sum) as '.$m.'_realized_sum';
                $joins .=  "\n"."LEFT JOIN tbl_report ".$m." ON ".$m.".date > '".$year."-".$k."-01 00:00:00' AND 
                    ".$m.".date < '".$year."-".$k."-31 24:59:59' AND 
                    ".$m.".fio = all_months.fio ";
            }

            $query = "SELECT DISTINCT ".$fields."
                      FROM tbl_report
                      ".$joins."
                      WHERE all_months.date > '".$year."-01-01 00:00:00' AND all_months.date < '".$year."-12-31 24:59:59'";
            //echo $query;
            $data['summary'] = Yii::app()->db->createCommand($query)->queryRow();
  • Вопрос задан
  • 2503 просмотра
Пригласить эксперта
Ответы на вопрос 1
sanchezzzhak
@sanchezzzhak
Ля ля ля...
Дело в запросе а не в фркеймворке.
При таком запросе вам нужно использовать дополнительно GROUP BY.

Как правило при использование SUM и LEFT JOIN всегда нужно группировать... или использовать INNER JOIN
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы