SQL Запрос Суммирование сгруппированных записей из двух соединенных таблиц-это перепродажаPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 SQL Запрос Суммирование сгруппированных записей из двух соединенных таблиц-это перепродажа

Сообщение Anonymous »

У меня есть 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
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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