Страница 1 из 3

SQL запросы для движка CS-Cart

Добавлено: 19 янв 2012 14:34
support
Здесь будет список SQL запросов с описанием для чего они используются для движка CS-Cart.

Импорт:


Экспорт:

Заменить артикул производителя на ID товара:
Вкладка До обновления.

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

UPDATE etrade_products SET tov_art=tov_id

Re: SQL запросы для движка CS-Cart

Добавлено: 03 мар 2013 09:58
MCMak
Необходима помощь по настройке передачи данных из PLI в CS-Cart с помощью туннеля...
Интересуют поля, которые не используются в стандартных настройках: MSupply_ID, sort_order, warranty

MSupply_ID надо перезаписывать при каждом обновлении в cscart_companies.companies_id, но в таблицах для туннеля нет переменной MSupply_ID :(
sort_order надо перезаписывать при каждом обновлении в cscart_products_categories.position по ID продукта

warranty надо добавлять, только при добавлении нового товара в таблицу характеристик cscart_product_features_values где feature_id=4 и variant_id = 10 если Гарантия = 12 мес, variant_id = 22 если Гарантия = 1 мес, и т.д.

Re: SQL запросы для движка CS-Cart

Добавлено: 03 мар 2013 17:15
MCMak
Первый запрос решил сам как сделать, переменную нашел:

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

UPDATE cscart_products, etrade_products SET cscart_products.company_id=etrade_products.supply_id WHERE etrade_products.tov_id=cscart_products.product_id;;;

Re: SQL запросы для движка CS-Cart

Добавлено: 11 апр 2013 16:42
xeddin
Добрый день!

У меня ИМ на CS Cart. Настраиваю прайс листы и столкнулся с тем, что для создания карточки товара в учетной системе (читай в cs cart) с параметрами (цвет, размер и т.д.) необходимо составлять какой то SQL запрос. Я не силен в этих делах, может кто может подсказать что за запрос нужно создавать? И на видео я видел, что у Вас есть такой запрос. Как его можно получить?
Видео тут: http://www.youtube.com/watch?v=Uab1gtchFHo

Re: SQL запросы для движка CS-Cart

Добавлено: 12 апр 2013 14:18
TechAdmin
Ниже SQL запросы, которые были использованы в этом видео http://www.youtube.com/watch?v=Uab1gtchFHo

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

SET SESSION sql_mode='';;;
SET SQL_BIG_SELECTS=1;;;
TRUNCATE TABLE cscart_products_categories;;;
UPDATE etrade_cats SET row_exist=1 WHERE cat_id IN (SELECT category_id FROM cscart_categories);;;
INSERT INTO cscart_categories (product_details_layout, status, category_id, parent_id, position) SELECT 'default' as product_details_layout, IF(cat_active=1,'A','N'), cat_id, parent_id, sort_order FROM etrade_cats WHERE etrade_cats.row_exist=0;;;
INSERT INTO cscart_category_descriptions (category_id, lang_code, category, description) SELECT cat_id, 'RU' as lang_code, cat_name, cat_desc FROM etrade_cats WHERE etrade_cats.row_exist=0;;;
UPDATE cscart_categories, etrade_cats SET cscart_categories.status = IF(cat_active=1,'A','N'), cscart_categories.parent_id = etrade_cats.parent_id, cscart_categories.position = etrade_cats.sort_order WHERE etrade_cats.row_exist=1 AND etrade_cats.cat_id=cscart_categories.category_id;;;
UPDATE cscart_category_descriptions, etrade_cats SET cscart_category_descriptions.category = etrade_cats.cat_name WHERE etrade_cats.row_exist=1 AND etrade_cats.cat_id=cscart_category_descriptions.category_id AND cscart_category_descriptions.lang_code='RU';;;
UPDATE cscart_products, etrade_products SET cscart_products.status = IF(tov_active=1,'A','N'), cscart_products.amount = etrade_products.tov_quantity, cscart_products.list_price = etrade_products.tov_price WHERE etrade_products.tov_art2=cscart_products.product_id;;;
UPDATE cscart_product_descriptions, etrade_products SET cscart_product_descriptions.product = etrade_products.tov_name WHERE etrade_products.tov_art2=cscart_product_descriptions.product_id AND cscart_product_descriptions.lang_code='RU';;;
DELETE FROM cscart_product_prices WHERE cscart_product_prices.product_id IN (SELECT tov_art2 FROM etrade_products GROUP BY etrade_products.tov_art2);;;
INSERT INTO cscart_product_prices (lower_limit, product_id, price) SELECT '1' as lower_limit, tov_art2, MIN(tov_price) as min_price FROM etrade_products WHERE etrade_products.tov_art2 NOT IN (SELECT product_id FROM cscart_product_prices) GROUP BY etrade_products.tov_art2 ORDER BY min_price;;;
INSERT INTO cscart_product_descriptions (product_id, lang_code, product) SELECT tov_art2, 'RU' as lang_code, tov_name FROM etrade_products WHERE etrade_products.tov_art2 NOT IN (SELECT product_id FROM cscart_products) GROUP BY etrade_products.tov_art2;;;
INSERT INTO cscart_products (details_layout, feature_comparison, tracking, status, product_code, product_id, amount, list_price) SELECT 'default' as details_layout, 'Y' as feature_comparison, 'D' as tracking, IF(tov_active=1,'A','N'), tov_id, tov_art2, tov_quantity, tov_price FROM etrade_products WHERE etrade_products.tov_art2 NOT IN (SELECT product_id FROM cscart_products) GROUP BY etrade_products.tov_art2;;;
DELETE FROM cscart_products_categories WHERE product_id IN (SELECT tov_art2 FROM etrade_products GROUP BY etrade_products.tov_art2);;;
INSERT INTO cscart_products_categories (product_id, category_id) SELECT etrade_products.tov_art2, etrade_products_cats.tov_cat_id FROM etrade_products_cats LEFT JOIN etrade_products ON etrade_products_cats.tov_id=etrade_products.tov_id GROUP BY etrade_products_cats.tov_cat_id, etrade_products.tov_art2;;;
UPDATE etrade_cats SET punkt=REPLACE(punkt, '/0/', '');;;
UPDATE cscart_categories, etrade_cats SET id_path=etrade_cats.punkt WHERE etrade_cats.cat_id=category_id;;;
TRUNCATE cscart_product_options;;;
TRUNCATE cscart_product_options_descriptions;;;
TRUNCATE cscart_product_option_variants;;;
TRUNCATE cscart_product_option_variants_descriptions;;;
INSERT INTO cscart_product_options (option_id, product_id) SELECT tov_id, tov_art2 FROM etrade_products WHERE tov_size<>'' AND nalich_c='Есть' GROUP BY tov_art2;;;
INSERT INTO cscart_product_options_descriptions (option_id, lang_code, option_name) SELECT option_id, 'RU' as lang_code, 'Размер' as option_name FROM cscart_product_options;;;
INSERT INTO cscart_product_option_variants (variant_id, option_id, modifier) SELECT etrade_products.tov_id, cscart_product_options.option_id, etrade_products.tov_price FROM etrade_products LEFT JOIN cscart_product_options ON cscart_product_options.product_id=etrade_products.tov_art2 WHERE tov_size<>'' AND nalich_c='Есть';;;
INSERT INTO cscart_product_option_variants_descriptions (variant_id, lang_code, variant_name) SELECT tov_id, 'RU' as lang_code, tov_size FROM etrade_products WHERE tov_size<>'' AND nalich_c='Есть' ORDER BY tov_id, tov_size;;;
UPDATE cscart_product_option_variants, cscart_product_options, cscart_product_prices SET cscart_product_option_variants.modifier=cscart_product_option_variants.modifier-cscart_product_prices.price WHERE cscart_product_option_variants.option_id=cscart_product_options.option_id AND cscart_product_options.product_id=cscart_product_prices.product_id AND cscart_product_option_variants.modifier<>cscart_product_prices.price;;;
UPDATE cscart_product_option_variants, cscart_product_options, cscart_product_prices SET cscart_product_option_variants.modifier=0 WHERE cscart_product_option_variants.option_id=cscart_product_options.option_id AND cscart_product_options.product_id=cscart_product_prices.product_id AND cscart_product_option_variants.modifier=cscart_product_prices.price;;;
INSERT INTO cscart_seo_names (name, object_id, type, lang_code) SELECT tov_seo_url, tov_art2, 'p' as type, 'RU' as lang_code FROM etrade_products WHERE tov_art2 NOT IN (SELECT object_id FROM cscart_seo_names WHERE type='p' AND lang_code='RU') GROUP BY etrade_products.tov_art2;;;
INSERT INTO cscart_seo_names (name, object_id, type, lang_code) SELECT cat_seo_url, cat_id, 'c' as type, 'RU' as lang_code FROM etrade_cats WHERE cat_id NOT IN (SELECT object_id FROM cscart_seo_names WHERE type='c' AND lang_code='RU');;;
DROP TABLE IF EXISTS etrade_cats;;;
DROP TABLE IF EXISTS etrade_products;;;
DROP TABLE IF EXISTS etrade_products_cats;;;
DROP TABLE IF EXISTS etrade_mans;;;

Re: SQL запросы для движка CS-Cart

Добавлено: 12 апр 2013 14:26
MCMak
Жаль мои сообщения проигнорировали... А так надо было...

Re: SQL запросы для движка CS-Cart

Добавлено: 12 апр 2013 16:12
xeddin
Ребята, супер. Спасибо за запрос. Теперь, когда я хочу его вставить в "Ручная настройка работы SQL" вижу, что эта кнопка неактивна. Почему такое может быть? версия последняя, сегодня или вчера обновился.

Re: SQL запросы для движка CS-Cart

Добавлено: 12 апр 2013 19:07
TechAdmin
Теперь, когда я хочу его вставить в "Ручная настройка работы SQL" вижу, что эта кнопка неактивна.

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

Re: SQL запросы для движка CS-Cart

Добавлено: 23 июн 2013 22:50
taras21
Здравствуйте. Подскажите пожалуйста SQL запрос для категории по умолчанию. У меня в магазине товар находится в двух категориях (родительской и основной)
основная категория (Главная категория)
Главная/Телефония/Мобильные телефоны и аксессуары/Мобильные телефоны/FLY
Дополнительная (Secondary category)
Главная/Телефония/Мобильные телефоны и аксессуары/Мобильные телефоны

При экспорте E-Trade PriceList Importer через туннель у меня получается что
Главная категория
Главная/Телефония/Мобильные телефоны и аксессуары/Мобильные телефоны
Дополнительная (Secondary category)
Главная/Телефония/Мобильные телефоны и аксессуары/Мобильные телефоны/FLY
Меняются местами ((..
Как это можно исправить?

Re: SQL запросы для движка CS-Cart

Добавлено: 24 июн 2013 15:00
TechAdmin

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

UPDATE cscart_products_categories, etrade_products SET link_type='A' WHERE etrade_products.tov_id=cscart_products_categories.product_id AND etrade_products.tov_cat_id<>cscart_products_categories.category_id;;;

где cscart_ префикс таблиц БД сайта.