У меня есть 3 связанные таблицы в моей базе данных, и я пытаюсь вернуть отфильтрованные общее количество указанных столбцов для текущей даты. < /p>
Мне нужно перечислить разделы [sec_name], дефекты Qty [sum (pdr_qty)]], производство qty [sum (pg_qty)]. >
section < /th>
defects qty < /th>
Производство qty < /th> < /tr>
< /thead>
строка 2 < /td>
100
300
ТАБЛИЦА1: разделы < /p>
sec_id < /th>
sec_name < /th>
< /tr>
< /thead>
< tr>
1 < /td>
строка 1 < /td>
< /tr>
2
строка 2
< P> Table2: Production_defects_report < /p>
< Br /> pdr_id < /th>
pdr_section_id < /th>
pdr_date < /th>
pdr_qty < /th>
< /tr>
< /thead>
1 < /td>
2 < /td >
2023-12-10 16:25:46 < /td>
50 < /td>
< /tr>
2 < /td>
2 < /td>
2023-12-10 16:25:47 < /td>
50
table3: production_gate
pg_id < /th>
pg_sec_id < /th>
pg_date < /th>
pg_qty < /th>
< /tr>
< / / Thead>
1 < /td>
2 < /td>
2023-12 -10 16:25:46 < /td>
100 < /td>
< /tr>
2 < /td>
2 < /td>
2023-12-10 16:25:47 < /td>
200 < /td>
< /tr>
< /tbody>
< /table> < /div>
mode method: < /p>
public function fetch_data($limit, $start)
{
$today = date('Y-m-d');
$this->db->select('sections.sec_name, SUM(production_defects_report.pdr_qty) as defect_qty, SUM(production_gate.pg_qty) as production_qty');
$this->db->from('production_defects_report');
$this->db->join('sections', 'sections.sec_id = production_defects_report.pdr_section_id');
$this->db->join('production_gate', 'production_gate.pg_sec_id = production_defects_report.pdr_section_id ', 'left');
$this->db->where('date(production_defects_report.pdr_date)',$today);
$this->db->where('date(production_gate.pg_date)',$today);
$this->db->group_by('sections.sec_id');
$query = $this->db->get();
if ($query->num_rows() > 0) {
foreach ($query->result_array() as $row) {
$data[] = $row;
}
return $data;
}
return false;
}
< /code>
Я создал метод модели с использованием codeigniter3, но я обнаружил, что сгруппированные итоги просчитывают-они чрезмерно перечисляют. Проблема, по -видимому, является результатом суммирования декартового продукта. Другими словами, пункты соединения вызывают дублирование квалификационных рядов в группах, а значения sum () не являются использования.
Подробнее здесь: https://stackoverflow.com/questions/784 ... lating-amo
SQL Запрос Суммирование сгруппированных записей из двух соединенных таблиц-это перепродажа ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Кодигентер выберите запрос с подобным условием на двух соединенных столбцах возвращает строки
Anonymous » » в форуме Php - 0 Ответы
- 5 Просмотры
-
Последнее сообщение Anonymous
-