e-special писал(а):вот как пример для поля обновления поля Keywords
У вас было чуть не правильно написано. Вот правильные SQL запросы для:
Keywords
Код: Выделить всё
UPDATE b_iblock_element_property, b_iblock_element, etrade_products SET b_iblock_element_property.value=etrade_products.head_keywords WHERE b_iblock_element.id=b_iblock_element_property.iblock_element_id AND b_iblock_element.xml_id=etrade_products.tov_guid AND b_iblock_element_property.iblock_property_id IN (SELECT b_iblock_property.id FROM b_iblock_property WHERE b_iblock_property.active = 'Y' AND b_iblock_property.name='Keywords' AND b_iblock_property.IBLOCK_ID=b_iblock_element.IBLOCK_ID);;;
INSERT INTO b_iblock_element_property (iblock_property_id, iblock_element_id, value) SELECT (SELECT b_iblock_property.id FROM b_iblock_property WHERE b_iblock_property.active = 'Y' AND b_iblock_property.name = 'Keywords' AND b_iblock_property.IBLOCK_ID=b_iblock_element.IBLOCK_ID GROUP BY b_iblock_property.name) as property_id, b_iblock_element.id, etrade_products.head_keywords FROM b_iblock_element, etrade_products WHERE b_iblock_element.xml_id=etrade_products.tov_guid AND b_iblock_element.id NOT IN (SELECT iblock_element_id FROM b_iblock_element_property WHERE iblock_property_id IN (SELECT b_iblock_property.id FROM b_iblock_property WHERE b_iblock_property.active = 'Y' AND b_iblock_property.name = 'Keywords' AND b_iblock_property.IBLOCK_ID=b_iblock_element.IBLOCK_ID GROUP BY b_iblock_property.name));;;
Description:
Код: Выделить всё
UPDATE b_iblock_element_property, b_iblock_element, etrade_products SET b_iblock_element_property.value=etrade_products.head_desc WHERE b_iblock_element.id=b_iblock_element_property.iblock_element_id AND b_iblock_element.xml_id=etrade_products.tov_guid AND b_iblock_element_property.iblock_property_id IN (SELECT b_iblock_property.id FROM b_iblock_property WHERE b_iblock_property.active = 'Y' AND b_iblock_property.name='description' AND b_iblock_property.IBLOCK_ID=b_iblock_element.IBLOCK_ID);;;
INSERT INTO b_iblock_element_property (iblock_property_id, iblock_element_id, value) SELECT (SELECT b_iblock_property.id FROM b_iblock_property WHERE b_iblock_property.active = 'Y' AND b_iblock_property.name = 'description' AND b_iblock_property.IBLOCK_ID=b_iblock_element.IBLOCK_ID GROUP BY b_iblock_property.name) as property_id, b_iblock_element.id, etrade_products.head_desc FROM b_iblock_element, etrade_products WHERE b_iblock_element.xml_id=etrade_products.tov_guid AND b_iblock_element.id NOT IN (SELECT iblock_element_id FROM b_iblock_element_property WHERE iblock_property_id IN (SELECT b_iblock_property.id FROM b_iblock_property WHERE b_iblock_property.active = 'Y' AND b_iblock_property.name = 'description' AND b_iblock_property.IBLOCK_ID=b_iblock_element.IBLOCK_ID GROUP BY b_iblock_property.name));;;
Title:
Код: Выделить всё
UPDATE b_iblock_element_property, b_iblock_element, etrade_products SET b_iblock_element_property.value=etrade_products.head_title WHERE b_iblock_element.id=b_iblock_element_property.iblock_element_id AND b_iblock_element.xml_id=etrade_products.tov_guid AND b_iblock_element_property.iblock_property_id IN (SELECT b_iblock_property.id FROM b_iblock_property WHERE b_iblock_property.active = 'Y' AND b_iblock_property.name='title' AND b_iblock_property.IBLOCK_ID=b_iblock_element.IBLOCK_ID);;;
INSERT INTO b_iblock_element_property (iblock_property_id, iblock_element_id, value) SELECT (SELECT b_iblock_property.id FROM b_iblock_property WHERE b_iblock_property.active = 'Y' AND b_iblock_property.name = 'title' AND b_iblock_property.IBLOCK_ID=b_iblock_element.IBLOCK_ID GROUP BY b_iblock_property.name) as property_id, b_iblock_element.id, etrade_products.head_title FROM b_iblock_element, etrade_products WHERE b_iblock_element.xml_id=etrade_products.tov_guid AND b_iblock_element.id NOT IN (SELECT iblock_element_id FROM b_iblock_element_property WHERE iblock_property_id IN (SELECT b_iblock_property.id FROM b_iblock_property WHERE b_iblock_property.active = 'Y' AND b_iblock_property.name = 'title' AND b_iblock_property.IBLOCK_ID=b_iblock_element.IBLOCK_ID GROUP BY b_iblock_property.name));;;