Неправильно суммировать два столбцаPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Неправильно суммировать два столбца

Сообщение Anonymous »

Я создал Таблицу Production_report




pro_id
pro_stage_id
pro_model_id
pro_qty




1
1
44
420


2
1
44
200


3
1
44
430




Таблица Production_defects_report




pdr_id
prd_modet_id
pdr_stage_id
pdr_defect_id
pdr_qty




1
44
1
2
123


2
44
1
2
123




Table model_details




modet_id
modet_name




44
22955 TMR5 BLUE




Этапы таблицы




st_id
st_name




1
Подготовка материала


2
Тестирование




Таблица дефектов




def_id
def_name




1
Разбитая голова


2
Потерять мощность




Мне нужно знать сумму pro_qty и pdr_qty, чтобы знать, сколько произведено и сколько дефектов обнаружено после тестирования, как показано в следующей таблице.




Название модели
Сценическое название
Произведенное количество
Название дефекта
Количество дефектов
Процент




22955 TMR5 BLUE
Подготовить материал
1050
Потерять мощность
246
35.14




Я создал модель для получения и суммирования количества из обеих таблиц, как показано ниже.

Код: Выделить всё

public function getCombinedReport() {
$this->db->select('md.modet_desc AS model_name, s.st_name AS stage_name, SUM(pr.pro_qty) AS total_pro_qty, d.def_name AS defect_name, COALESCE(SUM(pdr.pdr_qty), 0) AS total_pdr_qty');
$this->db->from('production_report AS pr');
$this->db->join('model_details AS md', 'pr.pro_model_id = md.modet_id');
$this->db->join('stages AS s', 'pr.pro_stage_id = s.st_id');
$this->db->join('production_defects_report AS pdr', 'pr.pro_model_id = pdr.pdr_modet_id AND pr.pro_stage_id = pdr.pdr_stage_id');
$this->db->join('defects AS d', 'pdr.pdr_defect_id = d.def_id');
$this->db->group_by('pr.pro_model_id, pr.pro_stage_id, d.def_id');
$query = $this->db->get();
return $query->result();
}

Проблема, которую я обнаружил, возвращает сумму pro_qty и pdr_qty, умноженную на подсчитанные строки других объединенных таблиц. например, следующая таблица.




Название модели
Название этапа
Произведенное количество
Название дефекта
Количество дефектов
Процент




22955 TMR5 BLUE
Подготовить материал
2100
Потерять мощность
738
35,1%




Я хочу создать отчет, чтобы узнать, сколько дефектов на каждом этапе модели.

Подробнее здесь: https://stackoverflow.com/questions/772 ... wo-columns
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»