从一个表更新一个列,该列与另一个表中的列相乘

时间:2013-03-08 23:11:45

标签: opencart

我有2个表,第一个product包含列price,第二个product_reward包含列points。 我想使用列points * 0.1中的值更新列price。 所以积分=价格* 01。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用以下sql查询来更新产品的当前奖励积分。

UPDATE `oc_product_reward` rp SET rp.`points`=(SELECT p.price FROM `oc_product` p WHERE rp.`product_id` = p.`product_id`)*0.1  

之后,您必须更新管理部分的产品型号。插入并更新upload/admin/model/catalog/product.php

的一部分
    if (isset($data['product_reward'])) {
        foreach ($data['product_reward'] as $customer_group_id => $product_reward) {
            $this->db->query("INSERT INTO " . DB_PREFIX . "product_reward SET product_id = '" . (int)$product_id . "', customer_group_id = '" . (int)$customer_group_id . "', points = '" . (int)((float)$data['price'] * 0.1) . "'");
        }
    }