Ребята, доброй ночи! Прошу помочь мне с таким вопросом: Есть SQL запрос, который должен работать по кнопке Код: DROP TABLE oc_product_option_value_sum; CREATE TABLE oc_product_option_value_sum AS SELECT product_id, SUM(price) AS mpn FROM `oc_product_option_value` AS option_select_sum WHERE option_select = 1 GROUP BY product_id; UPDATE oc_product, oc_product_option_value_sum SET oc_product.mpn = oc_product_option_value_sum.mpn WHERE oc_product.product_id = oc_product_option_value_sum.product_id; Со всем разобрался, но проблема в файле controll как я понимаю Подскажите, что я не так записал в коде ниже? Правильно я перевел запрос в код? Код: $this->db->query("DROP TABLE " . DB_PREFIX . "`oc_product_option_value_sum`; CREATE TABLE" . DB_PREFIX . "oc_product_option_value_sum AS SELECT product_id, SUM(price) AS mpn FROM" . DB_PREFIX . "`oc_product_option_value` AS option_select_sum WHERE option_select = 1 GROUP BY product_id; UPDATE " . DB_PREFIX . "oc_product," . DB_PREFIX . " oc_product_option_value_sum SET" . DB_PREFIX . "oc_product.mpn =" . DB_PREFIX . "oc_product_option_value_sum.mpn WHERE" . DB_PREFIX . "oc_product.product_id = " . DB_PREFIX . "oc_product_option_value_sum.product_id;");
Все равно не корректно отрабатывает По идее должно как происходить: В админке я меняю цену опции по умолчанию, жму кнопку Удаляется таблица из базы Создается новая, где суммирует все опции по умолчанию и следовательно наша измененная опция тоже суммируется, с группировкой по продукт айди Суммы записываются в mpn и выводятся как цена в каталог А на деле происходит что таблица не удаляется, соответственно и новая не создается, а вот в конечной таблице значение mpn заменяется на 0
Так у вас в query некорректно НЕ Код: "DROP TABLE " . DB_PREFIX . "`oc_product_option_value_sum` А это Код: "DROP TABLE `" . DB_PREFIX . "product_option_value_sum`
Ну и по аналогии в create table и update. В DB_PREFIX хранится префикс oc_. Соответственно, у вас названия таблиц некорректные, ну и косую запятую ` нужно ставить перед префиксом, а не после.