[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как суммировать значение по колонке по условию
шура2222
Все привет

Нужно сделать следующее

есть таблица 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
и отдать все значения всех колонок + сумма остатка
а так же дополнить этот запрос еще одним запросом что бы получить имя склада
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.