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();
}
Название модели
Название этапа
Произведенное количество
Название дефекта
Количество дефектов
Процент
22955 TMR5 BLUE
Подготовить материал
2100
Потерять мощность
738
35,1%
Я хочу создать отчет, чтобы узнать, сколько дефектов на каждом этапе модели.
Подробнее здесь: https://stackoverflow.com/questions/772 ... wo-columns
Мобильная версия