SQL запросы для движка OpenCart

В данном разделе оставляются заявки для создания SQL запросов для обновления тех или иных полей при импорте и экспорте.
Аватара пользователя
support
Сообщения: 10545
Зарегистрирован: 09 ноя 2008 21:37

19 янв 2012 14:36

Cписок SQL запросов с описанием для чего они используются для движка OpenCart.


Импорт:


Экспорт:

Обновление своего статуса наличия товара "Уточняйте" из Учетной Системы.

Код: Выделить всё

UPDATE product, etrade_products SET stock_status_id=(SELECT stock_status_id FROM stock_status WHERE language_id=(SELECT language_id FROM language WHERE name='English') AND name='СТАТУС_НА_САЙТЕ_Уточняйте') WHERE etrade_products.tov_id=product.product_id AND etrade_products.nalich_c LIKE '%СТАТУС_В_ПЛИ_Уточняйте%';;;
Заменить артикул производителя на ID товара:
Вкладка До обновления.

Код: Выделить всё

UPDATE etrade_products SET tov_art=tov_id;;;
Обновление ЧПУ:
Вкладка после обновления

для категорий:

Код: Выделить всё

update oc_url_alias ua
  inner join etrade_cats e on
                              e.cat_id = cast(SUBSTRING(ua.query from 13) as UNSIGNED)
set ua.keyword = e.cat_seo_url
WHERE ua.query like 'category_id=%';;;
для товаров:

Код: Выделить всё

update oc_url_alias ua
  inner join etrade_products e on
                              e.tov_id = cast(SUBSTRING(ua.query from 12) as UNSIGNED)
set ua.keyword = e.tov_seo_url
WHERE ua.query like 'product_id=%';;;
для производителей (брендов):

Код: Выделить всё

update oc_url_alias ua
  inner join etrade_mans e on
                                  e.man_id = cast(SUBSTRING(ua.query from 17) as UNSIGNED)
set ua.keyword = e.man_seo_url
WHERE ua.query like 'manufacturer_id=%';;;
Обновление названия производителя.
Вкладка после обновления

Код: Выделить всё

INSERT INTO oc_manufacturer_description (manufacturer_id, language_id, name) 
SELECT manufacturer_id, 1 as language_id, name 
FROM oc_manufacturer 
WHERE manufacturer_id NOT IN (SELECT manufacturer_id FROM oc_manufacturer_description WHERE language_id=1);;;
C уважением, поддержка ElbuzGroup.
Документация E-Trade Jumper
Ercanium
Сообщения: 8
Зарегистрирован: 08 мар 2012 13:22

08 мар 2012 13:26

;)
Последний раз редактировалось Ercanium 01 фев 2014 02:09, всего редактировалось 1 раз.
Аватара пользователя
TechAdmin
Администратор
Сообщения: 3881
Зарегистрирован: 27 авг 2008 14:30

08 мар 2012 15:11

Вам необходимо использовать этот SQL запрос для каждого магазина, в данном примере это магазин с ИД = 1 и ИД = 2

Код: Выделить всё

INSERT INTO product_to_store (product_id, store_id) SELECT product_id, 1 as store_id FROM product_to_store WHERE product_id NOT IN (SELECT product_id FROM product_to_store WHERE store_id=1);;;
INSERT INTO product_to_store (product_id, store_id) SELECT product_id, 2 as store_id FROM product_to_store WHERE product_id NOT IN (SELECT product_id FROM product_to_store WHERE store_id=2);;;


SQL запрос добавить в "Ручная настройка работы модуля E-Trade HTTP Tunnel - SQL режим" во вкладку "SQL запросы (выполняются после основного обновления)".
С уважением, поддержка ElbuzGroup.
Ercanium
Сообщения: 8
Зарегистрирован: 08 мар 2012 13:22

27 апр 2012 22:23

;)
Последний раз редактировалось Ercanium 01 фев 2014 02:09, всего редактировалось 1 раз.
Аватара пользователя
TechAdmin
Администратор
Сообщения: 3881
Зарегистрирован: 27 авг 2008 14:30

28 апр 2012 12:50

Cтатусы наличия 'Есть', 'Нет' настраиваются в параметрах туннеля. Что конкретно вам необходимо реализовать?
С уважением, поддержка ElbuzGroup.
Ercanium
Сообщения: 8
Зарегистрирован: 08 мар 2012 13:22

28 апр 2012 13:32

;)
Последний раз редактировалось Ercanium 01 фев 2014 02:09, всего редактировалось 1 раз.
Аватара пользователя
TechAdmin
Администратор
Сообщения: 3881
Зарегистрирован: 27 авг 2008 14:30

28 апр 2012 15:04

Возможно.

Код: Выделить всё

UPDATE product, etrade_products SET product.stock_status_id=3 WHERE etrade_products.tov_id=product.product_id AND etrade_products.supply_id=25
С уважением, поддержка ElbuzGroup.
7Владимир7
Сообщения: 13
Зарегистрирован: 01 июн 2012 14:27

19 сен 2012 13:52

Здравствуйте!
Нада передать мега-тег "Title" SQL запросом в поле "seo_title" таблицы "product_description" БД сайта.
Попробовал запрос

Код: Выделить всё

INSERT INTO product_description (seo_title) SELECT tov_id, '1' as head_title FROM etrade_products WHERE etrade_products.row_exist=0;;;  
но получил ошибку.
Подскажите, как правильно написать SQL запрос?
Аватара пользователя
TechAdmin
Администратор
Сообщения: 3881
Зарегистрирован: 27 авг 2008 14:30

19 сен 2012 14:20

Попробуйте использовать такой SQL запрос:

Код: Выделить всё

UPDATE product_description, etrade_products SET product_description.seo_title=etrade_products.head_title WHERE product_description.product_id=etrade_products.tov_id
С уважением, поддержка ElbuzGroup.
7Владимир7
Сообщения: 13
Зарегистрирован: 01 июн 2012 14:27

19 сен 2012 15:24

Такой запрос сработал!
Спасибо большое за помощь и оперативность!
Может кому то пригодится, такой же запрос, только для категорий:

Код: Выделить всё

UPDATE category_description, etrade_cats SET category_description.seo_title=etrade_cats.meta_title WHERE category_description.category_id=etrade_cats.cat_id;;;
Ответить

Вернуться в «SQL запросы для E-Trade PriceList Importer»