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

В данном разделе оставляются заявки для создания SQL запросов для обновления тех или иных полей при импорте и экспорте.
Xsander
Сообщения: 60
Зарегистрирован: 09 авг 2012 18:08

10 авг 2012 12:24

Подскажите, пожалуйста, еще вот что, сейчас код вставляет и обновляет статус. А как должен выглядеть код, в случае, если нужно добавить статус только тогда, если товар на сайте без этого статуса, а если статус у товара есть, то не менять его?
Аватара пользователя
TechAdmin
Администратор
Сообщения: 3878
Зарегистрирован: 27 авг 2008 14:30

10 авг 2012 13:06

Т.е. не менять статус на сайте, если у товара статус равен 1?
С уважением, поддержка ElbuzGroup.
Xsander
Сообщения: 60
Зарегистрирован: 09 авг 2012 18:08

10 авг 2012 13:15

да, верно!
Аватара пользователя
TechAdmin
Администратор
Сообщения: 3878
Зарегистрирован: 27 авг 2008 14:30

10 авг 2012 13:26

Необходимо изменить SQL запрос, который обновляет данные:

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

UPDATE shop_properties_items_table, etrade_products SET shop_properties_items_table.shop_properties_items_value='1' WHERE shop_properties_items_table.shop_properties_items_value='0' AND etrade_products.tov_new=1 AND shop_properties_items_table.shop_items_catalog_item_id=etrade_products.tov_id AND shop_properties_items_table.shop_properties_items_id=22;;;
С уважением, поддержка ElbuzGroup.
Xsander
Сообщения: 60
Зарегистрирован: 09 авг 2012 18:08

10 авг 2012 13:28

Т.е. убирается первая часть запроса с командой INSERT...

Спасибо!
Аватара пользователя
TechAdmin
Администратор
Сообщения: 3878
Зарегистрирован: 27 авг 2008 14:30

10 авг 2012 13:36

Нет, она остаётся, изменяется вторая строка.
С уважением, поддержка ElbuzGroup.
Xsander
Сообщения: 60
Зарегистрирован: 09 авг 2012 18:08

10 авг 2012 13:46

Да, теперь понятно. Спасибо! Удачных Вам выходных!
Xsander
Сообщения: 60
Зарегистрирован: 09 авг 2012 18:08

17 авг 2012 18:01

Возникла такая странность, создан обмен флагов с сайтом, через дополнительные SQL запросы.

Выглядят они так
///////////// Новинка
INSERT INTO shop_properties_items_table (shop_items_catalog_item_id, shop_list_of_properties_id, shop_properties_items_value) SELECT tov_id, 134 as shop_list_of_properties_id, '1' FROM etrade_products WHERE tov_id NOT IN (SELECT shop_items_catalog_item_id FROM (SELECT shop_items_catalog_item_id, shop_list_of_properties_id FROM shop_properties_items_table) as t2 WHERE shop_list_of_properties_id=134);;;
UPDATE shop_properties_items_table, etrade_products SET shop_properties_items_table.shop_properties_items_value=IF(etrade_products.tov_new=1, '1', '0') WHERE shop_properties_items_table.shop_items_catalog_item_id=etrade_products.tov_id AND shop_properties_items_table.shop_list_of_properties_id=134;;;

///////////// Лучшая покупка
INSERT INTO shop_properties_items_table (shop_items_catalog_item_id, shop_list_of_properties_id, shop_properties_items_value) SELECT tov_id, 177 as shop_list_of_properties_id, '1' FROM etrade_products WHERE tov_id NOT IN (SELECT shop_items_catalog_item_id FROM (SELECT shop_items_catalog_item_id, shop_list_of_properties_id FROM shop_properties_items_table) as t2 WHERE shop_list_of_properties_id=177);;;
UPDATE shop_properties_items_table, etrade_products SET shop_properties_items_table.shop_properties_items_value=IF(etrade_products.best_sale=1, '1', '0') WHERE shop_properties_items_table.shop_items_catalog_item_id=etrade_products.tov_id AND shop_properties_items_table.shop_list_of_properties_id=177;;;

///////////// Распродажа
INSERT INTO shop_properties_items_table (shop_items_catalog_item_id, shop_list_of_properties_id, shop_properties_items_value) SELECT tov_id, 178 as shop_list_of_properties_id, '1' FROM etrade_products WHERE tov_id NOT IN (SELECT shop_items_catalog_item_id FROM (SELECT shop_items_catalog_item_id, shop_list_of_properties_id FROM shop_properties_items_table) as t2 WHERE shop_list_of_properties_id=178);;;
UPDATE shop_properties_items_table, etrade_products SET shop_properties_items_table.shop_properties_items_value=IF(etrade_products.spec_price=1, '1', '0') WHERE shop_properties_items_table.shop_items_catalog_item_id=etrade_products.tov_id AND shop_properties_items_table.shop_list_of_properties_id=178;;;

Почему-то, при обмене, всем товарам, у которых установлен флаг - "Лучшая покупка", автоматом присваивается флаг "Распродажа".

Как их разделить?
Аватара пользователя
TechAdmin
Администратор
Сообщения: 3878
Зарегистрирован: 27 авг 2008 14:30

17 авг 2012 18:25

В SQL запросах явно прописано обновление флагов с ИД 177, 178, поэтому исключено перекрытие. Проверьте данные непосредственно в БД, таблица shop_properties_items_table, поиск по коду товара, по полю shop_items_catalog_item_id, посмотрите значения для ИД 134, 177,178.
С уважением, поддержка ElbuzGroup.
Xsander
Сообщения: 60
Зарегистрирован: 09 авг 2012 18:08

18 авг 2012 01:37

Нашел причину..
товары у которых происходит такое перекрытие свойств, имеют флаг спец.цена..

Т.е. при экспорте сайт понимает такие товары как с флагом спец.цена и распродажа..... хотя у них только один флаг - спец.цена.

Они имеют разные названия в таблицах:
spec_price tinyint(1) Флаг товара "Р" - распродажа
tov_dissale tinyint(1) Флаг товара "СЦ" - специальная цена

что-то в программе?
Ответить

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