UPDATE b_iblock_element_property, b_iblock_element, etrade_products SET b_iblock_element_property.value=etrade_products.tov_art_supply WHERE b_iblock_element.id=b_iblock_element_property.iblock_element_id 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.code='articul_postavshika') AND b_iblock_element.xml_id=etrade_products.tov_guid;;;
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.code = 'articul_postavshika' GROUP BY b_iblock_property.code) as property_id, b_iblock_element.id, etrade_products.tov_art_supply 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.code = 'articul_postavshika' GROUP BY b_iblock_property.code));;;
UPDATE b_iblock_element, etrade_products SET b_iblock_element.preview_text='', b_iblock_element.detail_text='' WHERE b_iblock_element.xml_id=etrade_products.tov_guid;;;
UPDATE b_iblock_element_property, b_iblock_element, etrade_products, etrade_contractor SET b_iblock_element_property.value=etrade_contractor.contractor_name WHERE etrade_products.supply_id=etrade_contractor.contractor_id AND b_iblock_element.id=b_iblock_element_property.iblock_element_id 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='Поставщик') AND b_iblock_element.xml_id=etrade_products.tov_guid;;;
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.iblock_id=5 AND b_iblock_property.name = 'Поставщик' GROUP BY b_iblock_property.name) as property_id, b_iblock_element.id, etrade_contractor.contractor_name FROM b_iblock_element, etrade_products, etrade_contractor WHERE etrade_products.supply_id=etrade_contractor.contractor_id AND b_iblock_element.xml_id=etrade_products.tov_guid AND b_iblock_element.iblock_id=5 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.iblock_id=5 AND b_iblock_property.name = 'Поставщик' GROUP BY b_iblock_property.name));;;
Но программа выдала на этот запрос ошибку. (указывал свой id блока, поле назвал так же "Поставщик" "postavshik")
Прошу прощения, все нормально работает запрос.
Сам виноват, видимо текстовый редактор что-то портит в запросе. Если вставляю в него, а из него в программу - выдает ошибку, если вставляю сразу в программу, все проходит нормально.
Единственное, а для всех инфоблоков сразу нельзя выполнить запрос?