Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SET @ДатаОгрузки = DATE_ADD(NOW(),INTERVAL -1 DAY);
- SET @ДатаОгрузкиДляНомера = DATE_FORMAT(@ДатаОгрузки, '%y%m%d');
- WITH
- t1 AS (
- SELECT
- ia.products_attributes_id
- , i.suppliers_id
- , CONCAT(@ДатаОгрузкиДляНомера, '-', IF(ii.is_agency = 'Y', 0, ii.suppliers_id)) AS incomes_number
- , COUNT(*) AS cnt FROM marking_shelves AS ms
- JOIN marking_zones AS mz ON mz.marking_zones_id = ms.marking_zones_id
- JOIN entities_types AS et ON et.entities_types_id = mz.entities_types_id
- JOIN marking_shelves_to_objects AS mso ON mso.marking_shelves_id = ms.marking_shelves_id
- JOIN incomes_items_view_1c AS ii ON ii.incomes_items_id = mso.object_id
- JOIN incomes_attributes AS ia ON ia.incomes_attributes_id = ii.incomes_attributes_id
- JOIN incomes AS i ON i.incomes_id = ia.incomes_id
- WHERE mso.deleted = 0
- AND ms.marking_shelves_name IN(9, 10, 11, 12, 13)
- AND mz.marking_zones_id = 55 -- ПУ
- GROUP BY ia.products_attributes_id, i.suppliers_id
- )
- ,
- t2 AS (
- SELECT
- IFNULL(
- (SELECT GROUP_CONCAT(DISTINCT CONCAT('https://i.mamsy.ru/images/product_images/popup_images/', i.name))
- FROM products_images AS p_i
- JOIN images AS i ON i.images_id = p_i.images_id
- WHERE p_i.products_attributes_id = pa.products_attributes_id
- ), '') AS 'Фото'
- , pa.products_name AS 'Наименование'
- , pd.products_name_label AS 'НаименованиеСайт'
- , IFNULL(pa.article_supplier,'') AS 'НоменклатураПоставщика'
- , IFNULL(p.products_model,'') AS 'Артикул'
- , IFNULL(p31.products_options_values_name, '') AS 'ВКомплекте'
- , IFNULL(b.brandswelove_name, '') AS 'НаименованиеБренда'
- , IFNULL(p03.products_options_values_name, '') AS 'ЦветТорг12'
- , IFNULL(p16.products_options_values_name, '') AS 'Цвет'
- , IFNULL(p19.products_options_values_name, '') AS 'Объем'
- , IFNULL(p15.products_options_values_name, '') AS 'РазмерЭтикетка'
- , IFNULL(p01.products_options_values_name, '') AS 'RU'
- , IFNULL(p11.products_options_values_name, '') AS 'Рост'
- , IFNULL(p26.products_options_values_name, '') AS 'ДлинаСтельки'
- , IFNULL(p25.products_options_values_name, '') AS 'ОбхватГоловы'
- , IFNULL(p12.products_options_values_name, '') AS 'Возраст'
- , IFNULL(p02.products_options_values_name, '') AS 'Пол'
- , IFNULL(b.brandswelove_alt_text, '') AS 'Бренд'
- , IFNULL(p.products_expiration_date, '') AS 'СрокГодности'
- , IFNULL(p35.products_options_values_name, '-') AS 'ГодПроизводства'
- , IFNULL(p27.products_options_values_name, '') AS 'СезонКоллекция'
- , IFNULL((SELECT MAX(pcpc.name) FROM products_countries AS pcp
- JOIN country AS pcpc ON pcpc.country_id = pcp.country_id
- WHERE pcp.products_id = p.products_id AND pcp.type = 'design'),'') AS 'СтранаДизайн'
- , IFNULL((SELECT MAX(pcpc.name) FROM products_countries AS pcp
- JOIN country AS pcpc ON pcpc.country_id = pcp.country_id
- WHERE pcp.products_id = p.products_id AND pcp.type = 'production'),'') AS 'СтранаПроизводство'
- , REGEXP_REPLACE(pd.products_description, '<\\/?\\w+>', '') AS 'Описание'
- , IFNULL(p17.products_options_values_name, '') AS 'Состав'
- , IFNULL(p21.products_options_values_name, '') AS 'ОбхватТалии'
- , IFNULL(p22.products_options_values_name, '') AS 'ОбхватБедер'
- , IFNULL(p29.products_options_values_name, '') AS 'ОбхватГруди'
- , IFNULL(p20.products_options_values_name, '') AS 'ДлинаИзделия'
- , pa.products_weight AS 'ВесБрутто'
- , IFNULL(p36.products_options_values_name, '') AS 'ВесИзделия'
- , IFNULL(p28.products_options_values_name, '') AS 'РазмерИзделия'
- , IFNULL(p.products_dimensions, '') AS 'Габариты'
- , IFNULL((
- SELECT GROUP_CONCAT(DISTINCT br.barcode)
- FROM products_barcodes AS pb
- JOIN barcodes AS br ON br.barcodes_id = pb.barcodes_id
- WHERE pb.products_attributes_id = pa.products_attributes_id
- ), '') AS 'Штрихкод'
- , '' AS 'НомерГТД' -- IFNULL(pdd.declaration, '') AS 'НомерГТД'
- , p.products_quantity AS 'Резерв'
- , p.products_quantity_min AS 'МинимальноеКоличество'
- , p.products_quantity_max AS 'МаксимальноеКоличество'
- , pp.products_original_purchase_price AS 'НачальнаяЗакупочнаяЦена'
- , pp.products_trade_price AS 'ОптоваяЦена'
- , IFNULL(IF(p.entities_types_id = 47
- , (SELECT LAST_VALUE(ia.price_purchase) OVER (PARTITION BY ia.products_attributes_id ORDER BY ia.incomes_attributes_id)
- FROM incomes_attributes AS ia WHERE ia.products_attributes_id = pa.products_attributes_id
- GROUP BY ia.products_attributes_id
- )
- , pp.products_purchase_price)
- , 1000000) AS 'ЗакупочнаяЦена'
- , pp.products_price AS 'ЦенаПродажи'
- , pp.products_old_price AS 'РыночнаяЦена'
- , pp.products_minimal_price AS 'МинимальнаяЦена'
- , pp.products_promo_price AS 'ПромоЦена'
- , IFNULL(IF(p.entities_types_id = 47
- , (SELECT LAST_VALUE(ia.vat) OVER (PARTITION BY ia.products_attributes_id ORDER BY ia.incomes_attributes_id)
- FROM incomes_attributes AS ia WHERE ia.products_attributes_id = pa.products_attributes_id
- GROUP BY ia.products_attributes_id
- )
- , pp.products_VAT)
- , 20) AS 'НДС'
- , IFNULL(IF(p.entities_types_id = 47
- , (SELECT LAST_VALUE(ia.vat_sale) OVER (PARTITION BY ia.products_attributes_id ORDER BY ia.incomes_attributes_id)
- FROM incomes_attributes AS ia WHERE ia.products_attributes_id = pa.products_attributes_id
- GROUP BY ia.products_attributes_id
- )
- , pp.products_VAT_sale)
- , 20) AS 'НДСПродажи'
- , IFNULL(p.only_prepaid, 0) AS 'ТолькоПоПредоплате'
- , IFNULL((SELECT
- GROUP_CONCAT(DISTINCT dt.delivery_type_name)
- FROM products_delivery_restrictions AS pdr
- LEFT JOIN delivery_types AS dt ON dt.delivery_type_id = pdr.delivery_type_id
- WHERE pdr.products_id = p.products_id
- ), '') AS 'ВариантДоставки'
- , IFNULL(po.products_code,'') AS 'Код'
- , IFNULL(po.products_comment, '') AS 'Коммент'
- , IFNULL(p32.products_options_values_name, '') AS 'Плотность'
- , IFNULL(p33.products_options_values_name, '') AS 'Диаметр'
- , IFNULL(p.individual_order, 0) AS 'ОтдельныйЗаказ'
- , IFNULL(p.no_return, 0) AS 'НеПодлежитВозврату'
- , IFNULL(p.in_assortment, '') AS 'ВАссортименте'
- , IFNULL(pao.certificate_details, '') AS 'РеквизитыСертификатаКачества'
- , IFNULL(pao.manufacturer, '') AS 'Производитель'
- , IFNULL(pao.manufacturer_address, '') AS 'АдресПроизводства'
- , IFNULL(pao.need_re_photo, 0) AS 'НеобходимаФотосъемка'
- , '' AS 'СтранаГТД' -- IFNULL(cc.code_alpha_3, '') AS 'СтранаГТД'
- , cs.classifier_subcategories_name AS 'ПодкатегорияТовара'
- , clOrientation.classifier_lists_name AS 'Направленность'
- , clAccessories.classifier_lists_name AS 'Принадлежность'
- , po.hs_code AS 'HScode'
- , po.loaded_sort AS 'ПорядокCтрок'
- , pd.products_name_english AS 'НаименованиеEnglish'
- , '-' AS 'СсылкиНаВнешниеЦены'
- , pp.products_prepaid_discount AS 'СкидкаПриПредоплате'
- , '-' AS 'КорзинаТовара'
- , pa.products_attributes_id AS 'attribute_id'
- , IFNULL(
- (SELECT i.real_name
- FROM products_images AS p_i
- JOIN images AS i ON i.images_id = p_i.images_id
- WHERE p_i.products_attributes_id = pa.products_attributes_id
- AND p_i.image_nr = 1
- ), '') AS 'image_real'
- , IFNULL(
- (SELECT CONCAT('https://i.mamsy.ru/images/product_images/popup_images/', i.name)
- FROM products_images AS p_i
- JOIN images AS i ON i.images_id = p_i.images_id
- WHERE p_i.products_attributes_id = pa.products_attributes_id
- AND p_i.image_nr = 1
- ), '') AS 'ГлавноеФото'
- , IF(pa.products_status IN(1,2,9), 0, 1)AS 'Выключить'
- , '-' AS 'ЦенаПродажиВнешняя'
- , '-' AS 'ЗачеркнутаяЦенаВнешняя'
- , '-' AS 'ПромоЦенаВнешняя'
- , '-' AS 'ПерсонализированнаяЦенаНелояльногоКлиентаВнешняя'
- , pa.products_attributes_id
- , IFNULL(pal.products_attributes_parent_id, pa.products_attributes_id) AS products_attributes_parent_id
- , CASE
- WHEN p.entities_types_id = 47 THEN 'Статичный'
- WHEN p.entities_types_id = 46 THEN 'Акционный'
- WHEN p.entities_types_id = 189 THEN 'Оффлайн'
- WHEN p.entities_types_id = 262 THEN 'Виртуальный'
- ELSE '¯\_(ツ)_/¯'
- END AS 'ТипТовара'
- FROM products_attributes AS pa
- INNER JOIN t1 AS t1 ON t1.products_attributes_id = pa.products_attributes_id
- INNER JOIN products AS p ON p.products_id = pa.products_id
- INNER JOIN products_description AS pd ON pd.products_id = p.products_id
- LEFT JOIN brands_we_love AS b ON b.brandswelove_id = p.brandswelove_id
- LEFT JOIN products_other AS po ON po.products_attributes_id = pa.products_attributes_id
- LEFT JOIN products_attributes_other AS pao ON pao.products_attributes_id = pa.products_attributes_id
- LEFT JOIN products_attributes_legacy AS pal ON pal.products_attributes_id = pa.products_attributes_id
- LEFT JOIN products_prices AS pp ON pp.products_attributes_id = pa.products_attributes_id
- -- LEFT JOIN products_declarations AS pdd ON pdd.products_declarations_id = pp.products_declaration
- -- LEFT JOIN country AS cc ON cc.country_id = pdd.declaration_country_id
- LEFT JOIN classifier_binds_to_products_attributes AS cbpa ON cbpa.object_id = pa.products_attributes_id
- LEFT JOIN classifier_subcategories AS cs ON cs.classifier_subcategories_id = cbpa.classifier_subcategories_id
- LEFT JOIN classifier_lists AS clOrientation ON clOrientation.classifier_lists_id = cbpa.classifier_orientations_id
- LEFT JOIN classifier_lists AS clAccessories ON clAccessories.classifier_lists_id = cbpa.classifier_accessories_id
- LEFT JOIN products_attributes_options AS pao01 ON pao01.products_attributes_id = pa.products_attributes_id AND pao01.products_options_id = 1
- LEFT JOIN products_options_values as p01 on p01.products_options_values_id = pao01.products_options_values_id
- LEFT JOIN products_attributes_options AS pao02 ON pao02.products_attributes_id = pa.products_attributes_id AND pao02.products_options_id = 2
- LEFT JOIN products_options_values as p02 on p02.products_options_values_id = pao02.products_options_values_id
- LEFT JOIN products_attributes_options AS pao03 ON pao03.products_attributes_id = pa.products_attributes_id AND pao03.products_options_id = 3
- LEFT JOIN products_options_values as p03 on p03.products_options_values_id = pao03.products_options_values_id
- LEFT JOIN products_attributes_options AS pao11 ON pao11.products_attributes_id = pa.products_attributes_id AND pao11.products_options_id = 11
- LEFT JOIN products_options_values as p11 on p11.products_options_values_id = pao11.products_options_values_id
- LEFT JOIN products_attributes_options AS pao12 ON pao12.products_attributes_id = pa.products_attributes_id AND pao12.products_options_id = 12
- LEFT JOIN products_options_values as p12 on p12.products_options_values_id = pao12.products_options_values_id
- LEFT JOIN products_attributes_options AS pao15 ON pao15.products_attributes_id = pa.products_attributes_id AND pao15.products_options_id = 15
- LEFT JOIN products_options_values as p15 on p15.products_options_values_id = pao15.products_options_values_id
- LEFT JOIN products_attributes_options AS pao16 ON pao16.products_attributes_id = pa.products_attributes_id AND pao16.products_options_id = 16
- LEFT JOIN products_options_values as p16 on p16.products_options_values_id = pao16.products_options_values_id
- LEFT JOIN products_attributes_options AS pao17 ON pao17.products_attributes_id = pa.products_attributes_id AND pao17.products_options_id = 17
- LEFT JOIN products_options_values as p17 on p17.products_options_values_id = pao17.products_options_values_id
- LEFT JOIN products_attributes_options AS pao19 ON pao19.products_attributes_id = pa.products_attributes_id AND pao19.products_options_id = 19
- LEFT JOIN products_options_values as p19 on p19.products_options_values_id = pao19.products_options_values_id
- LEFT JOIN products_attributes_options AS pao20 ON pao20.products_attributes_id = pa.products_attributes_id AND pao20.products_options_id = 20
- LEFT JOIN products_options_values as p20 on p20.products_options_values_id = pao20.products_options_values_id
- LEFT JOIN products_attributes_options AS pao21 ON pao21.products_attributes_id = pa.products_attributes_id AND pao21.products_options_id = 21
- LEFT JOIN products_options_values as p21 on p21.products_options_values_id = pao21.products_options_values_id
- LEFT JOIN products_attributes_options AS pao22 ON pao22.products_attributes_id = pa.products_attributes_id AND pao22.products_options_id = 22
- LEFT JOIN products_options_values as p22 on p22.products_options_values_id = pao22.products_options_values_id
- LEFT JOIN products_attributes_options AS pao25 ON pao25.products_attributes_id = pa.products_attributes_id AND pao25.products_options_id = 25
- LEFT JOIN products_options_values as p25 on p25.products_options_values_id = pao25.products_options_values_id
- LEFT JOIN products_attributes_options AS pao26 ON pao26.products_attributes_id = pa.products_attributes_id AND pao26.products_options_id = 26
- LEFT JOIN products_options_values as p26 on p26.products_options_values_id = pao26.products_options_values_id
- LEFT JOIN products_attributes_options AS pao27 ON pao27.products_attributes_id = pa.products_attributes_id AND pao27.products_options_id = 27
- LEFT JOIN products_options_values as p27 on p27.products_options_values_id = pao27.products_options_values_id
- LEFT JOIN products_attributes_options AS pao28 ON pao28.products_attributes_id = pa.products_attributes_id AND pao28.products_options_id = 28
- LEFT JOIN products_options_values as p28 on p28.products_options_values_id = pao28.products_options_values_id
- LEFT JOIN products_attributes_options AS pao29 ON pao29.products_attributes_id = pa.products_attributes_id AND pao29.products_options_id = 29
- LEFT JOIN products_options_values as p29 on p29.products_options_values_id = pao29.products_options_values_id
- LEFT JOIN products_attributes_options AS pao31 ON pao31.products_attributes_id = pa.products_attributes_id AND pao31.products_options_id = 31
- LEFT JOIN products_options_values as p31 on p31.products_options_values_id = pao31.products_options_values_id
- LEFT JOIN products_attributes_options AS pao32 ON pao32.products_attributes_id = pa.products_attributes_id AND pao32.products_options_id = 32
- LEFT JOIN products_options_values as p32 on p32.products_options_values_id = pao32.products_options_values_id
- LEFT JOIN products_attributes_options AS pao33 ON pao33.products_attributes_id = pa.products_attributes_id AND pao33.products_options_id = 33
- LEFT JOIN products_options_values as p33 on p33.products_options_values_id = pao33.products_options_values_id
- LEFT JOIN products_attributes_options AS pao35 ON pao35.products_attributes_id = pa.products_attributes_id AND pao35.products_options_id = 35
- LEFT JOIN products_options_values as p35 on p35.products_options_values_id = pao35.products_options_values_id
- LEFT JOIN products_attributes_options AS pao36 ON pao36.products_attributes_id = pa.products_attributes_id AND pao36.products_options_id = 36
- LEFT JOIN products_options_values as p36 on p36.products_options_values_id = pao36.products_options_values_id
- LEFT JOIN products_attributes_options AS pao37 ON pao37.products_attributes_id = pa.products_attributes_id AND pao37.products_options_id = 37
- LEFT JOIN products_options_values as p37 on p37.products_options_values_id = pao37.products_options_values_id
- LEFT JOIN products_attributes_options AS pao38 ON pao38.products_attributes_id = pa.products_attributes_id AND pao38.products_options_id = 38
- LEFT JOIN products_options_values as p38 on p38.products_options_values_id = pao38.products_options_values_id
- )
- SELECT
- t1.suppliers_id
- , t1.incomes_number
- , t2.*
- , SUM(t1.cnt) AS cnt
- FROM t2
- JOIN t1 ON t1.products_attributes_id = t2.products_attributes_id
- GROUP BY t1.suppliers_id, t2.products_attributes_parent_id, t1.incomes_number
Add Comment
Please, Sign In to add comment