Нужно сделать следующее
есть таблица msql со следующими колонками
id,
type_dvizheniya, тип движения (p прииход, m списание)
registrant,
date,
time,
registrant_id,
id_lines,
product_id,
variant_id,
product_name,
variant_name,
price,
amount, количество
sku,
storage_id,
modified
вот код запроса
public function get_remnants($filter = array()) {
$variant_id_filter = ''; фильтр по вариантам (характеристикам товара)
$product_id_filter = ''; фильтр по товару
$type_dvizheniya_filter = ''; фильтр по типу движения p=приход m=списание
$storage_id_filter = ''; фильтр по идентификатору склада
if(!empty($filter['variant_id'])) {
$variant_id_filter = $this->db->placehold('AND variant_id in(?@)', (array)$filter['variant_id']);
}
if(!empty($filter['product_id'])) {
$product_id_filter = $this->db->placehold('AND product_id in(?@)', (array)$filter['product_id']);
}
if(!empty($filter['type_dvizheniya'])) {
$type_dvizheniya_filter = $this->db->placehold('AND type_dvizheniya in(?@)', (array)$filter['type_dvizheniya']);
}
if(!empty($filter['storage_id'])) {
$storage_id_filter = $this->db->placehold('AND storage_id in(?@)', (array)$filter['storage_id']);
}
$query = $this->db->placehold("SELECT
id,
type_dvizheniya,
registrant,
date,
time,
registrant_id,
id_lines,
product_id,
variant_id,
product_name,
variant_name,
price,
SUM(amount) as remnant
sku,
storage_id,
modified
FROM __dvizhenie_tovarov
WHERE
1
$variant_id_filter
$product_id_filter
$type_dvizheniya_filter
$storage_id_filter
");
$this->db->query($query);
$remnants = $this->db->results();
return $remnants;
}
нужно получить сумму количества когда в запросе type_dvizheniya=p
затем вычесть из этой суммы
сумму когда в запросе type_dvizheniya=m
и отдать все значения всех колонок + сумма остатка
а так же дополнить этот запрос еще одним запросом что бы получить имя склада