Я встретил, как мне кажется, очень распространенную проблему с mysql и интернет-магазином ... хотя я не могу найти ответ на этот вопрос.
У меня есть магазин, в котором нет ни одной таблицы продуктовно многие ... например, в одном магазине есть винилы, студийное оборудование и т. д. ... поэтому у нас есть много таблиц с различными деталями продукта ... дело в том, что мне нужно получить общее количество (цену) продуктов в корзине отмного таблиц
public static function GetTotalAmount() {
$params = array(
':cart_id' => self::GetCartId()
);
$sql = 'SELECT SUM(v.price) AS total_amount '.
'FROM shopping_cart sc '.
'INNER JOIN vinyl v '.
'ON sc.product_id = v.id AND sc.department_id = 1 '.
'WHERE sc.cart_id = :cart_id AND sc.buy_now;';
$v = DataBase::FetchOne($sql, $params);
$sql = 'SELECT SUM(sg.price) AS total_amount '.
'FROM shopping_cart sc '.
'INNER JOIN studio_gear sg '.
'ON sc.product_id = sg.id AND sc.department_id = 2 '.
'WHERE sc.cart_id = :cart_id AND sc.buy_now;';
$sg = DataBase::FetchOne($sql, $params);
return $sg + $v;
}
Как вы могли заметить, я сделал это безобразно ... может быть, вы можете помочь мне показать, как получить SUM () из возможных N таблиц, считаемых из N.price.