@n1ger
html+css

Как обновить таблицу собранными данными из другой таблицы?

Есть таблица product, у нее есть product_id и quantity(айди товара, и его количество).
Есть таблица опций к продукту product_option там есть product_id, product_option_id, quantity, subtract(айди товара которому принадлежит данная опция, айди опции, количество этой опции на складе, вычитать у товара количество при заказе опции).
У одного товара, может быть много опций.
Как обновить количество продукта, на основании количества имеющихся у него опций и их количества?
Как получить количество доступных опций у товара я понял
#SELECT sum(product_option.quantity), product.product_id FROM product_option LEFT JOIN product ON product.product_id=product_option.product_id WHERE product_option.subtract = 1 GROUP BY product.product_id;

А вот как обновить на основании этих данных количество доступных товаров со всеми опциями?
  • Вопрос задан
  • 34 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
UPDATE `product` AS `p`
  JOIN (
    SELECT `product_id`, SUM(`quantity`) AS `quantity`
      FROM `product_option`
      WHERE `subtract` = 1 
      GROUP BY `product_id`
  ) AS `o` USING(`product_id`)
  SET `p`.`quantity` = `o`.`quantity`
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы