Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Помогите со SQL запросом к БД


Evgenka
 Поделиться

Рекомендованные сообщения

Добрый день.

Прошу помощи правильно сформировать запрос к БД.

В таблицу oc_order_product добавил столбец SKU

В таблице oc_product у каждого товара есть свой SKU

Необходимо заполнить значения SKU у товаров в таблице oc_order_product

В части запросов к БД совсем не силен, пытался сделать так 

UPDATE `oc_order_product` SET `sku` = (SELECT c.`sku` FROM `oc_product` c WHERE c.`product_id` = `oc_order_product`.`product_id`)

и вот так

UPDATE `oc_order_product` SET `oc_order_product`.`sku`=`oc_product`.`sku` WHERE `oc_order_product`.`product_id`=`oc_product`.`product_id`

но, к сожалению, необходимого результата не получил.

Как правильно сформировать запрос, кто подскажет?

Изменено пользователем Evgenka
Ссылка на комментарий
Поделиться на других сайтах



UPDATE  develop.oc_order_product op
INNER JOIN develop.oc_product p ON op.product_id = p.product_id 
SET op.sku = p.sku 
WHERE op.product_id = p.product_id 

Попробуйте так

Но вы же понимаете, что придется делать это постоянно руками? Не проще джойнить две таблицы, ну или допилить модель заказа, чтобы данные автоматом писались

Ссылка на комментарий
Поделиться на других сайтах


59 минут назад, neonox сказал:

UPDATE  develop.oc_order_product op
INNER JOIN develop.oc_product p ON op.product_id = p.product_id 
SET op.sku = p.sku 
WHERE op.product_id = p.product_id 

Попробуйте так

Но вы же понимаете, что придется делать это постоянно руками? Не проще джойнить две таблицы, ну или допилить модель заказа, чтобы данные автоматом писались

 

К сожалению, такой запрос так же не дал результата. Появляется ошибка:

Ответ MySQL: Документация
#1142 - Команда SELECT запрещена пользователю для таблицы 'oc_order_product'

Модели создания заказов уже поправил, sku заказанных товаров добавляются (как и при создании из админки, так и при создании покупателем). Сейчас стоит только вопрос по присвоению всем товарам из предыдущих заказов sku

Ссылка на комментарий
Поделиться на других сайтах


  • 5 месяцев спустя...
В 12.07.2020 в 22:51, Evgenka сказал:

 

К сожалению, такой запрос так же не дал результата. Появляется ошибка:

Ответ MySQL: Документация
#1142 - Команда SELECT запрещена пользователю для таблицы 'oc_order_product'

Модели создания заказов уже поправил, sku заказанных товаров добавляются (как и при создании из админки, так и при создании покупателем). Сейчас стоит только вопрос по присвоению всем товарам из предыдущих заказов sku

Здравствуйте! Вы не могли бы написать как вы сделали чтобы для заказанных товаров добавлялся sku в oc_order_product? Надо в модели и контроллере передать данные, но не знаю как это сделать.

Ссылка на комментарий
Поделиться на других сайтах


  • 1 год спустя...

Аналогичный вопрос, как вы добавили в модели заказов передачу sku товара в oc_order_product? Нужно похожее решение, но для поля manufacturer к каждому товару заказа

Ссылка на комментарий
Поделиться на других сайтах


04.11.2022 в 01:28, nertyod сказал:

Аналогичный вопрос, как вы добавили в модели заказов передачу sku товара в oc_order_product? Нужно похожее решение, но для поля manufacturer к каждому товару заказа

Хм, а зачем..

Если вы не удаляете товары, то привязка к производителю, по product_id

Наличие поля в order_product подразумевает, что товары могут удаляться/редактироваться, а в заказе - остается неизменной на момент продажи
Часто ли такое бывает?

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

Нужно разделить товары в заказах по производителям, вывести на отдельной странице с возможностью выбора производителя и отображения заказов товаров только с выбранным manufacturer_id

Ссылка на комментарий
Поделиться на других сайтах


  • 1 месяц спустя...

Подскажите SQL запрос

Чтобы в базе в  таблице oc_order  нашел номер заказа  5431(это не последний )  и изменил его на 5441

А все другие заказы которые уже созданы и идут после 5431 (это 5432, 5433, 5434)   изменил  на  5442, 5443 , 5444 и тд.

 

Ссылка на комментарий
Поделиться на других сайтах


В услуги!!!
Одним запросом не обойтись

Ссылка на комментарий
Поделиться на других сайтах

В 13.12.2022 в 01:32, vadim99 сказал:

Подскажите SQL запрос

Чтобы в базе в  таблице oc_order  нашел номер заказа  5431(это не последний )  и изменил его на 5441

А все другие заказы которые уже созданы и идут после 5431 (это 5432, 5433, 5434)   изменил  на  5442, 5443 , 5444 и тд.

 

для чего вам это нужно? 

Ссылка на комментарий
Поделиться на других сайтах

13.12.2022 в 15:04, spectre сказал:

для чего вам это нужно? 

теж не розумію. Виглядає як факап який намагаються заховати. 

Изменено пользователем niger
Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.