Advertisement
zotov-vs

Untitled

Jun 8th, 2017
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 5.49 KB | None | 0 0
  1. SELECT o.orders_id AS orders_id -- '№ заказа'
  2.     , o.customers_id AS customers_id -- 'ID клиента'
  3.     , IFNULL(umS.utm_value, '') AS UTM_source -- 'UTM_source (заказ)'
  4.     , IFNULL(umM.utm_value, '') AS UTM_medium -- 'UTM_medium (заказ)'
  5.     , IFNULL(umС.utm_value, '') AS UTM_campaign -- 'UTM_campaign (заказ)'
  6.     , IFNULL(umT.utm_value, '') AS UTM_term -- 'UTM_term (заказ)'
  7.     , IFNULL(umContent.utm_value, '') AS UTM_content -- 'UTM_content (заказ)'
  8.     , os.orders_status_id
  9.     , o.customers_status AS current_customers_status_id
  10.     , IF(os.orders_status_id IN (10, 22), 'Доставлен', os.orders_status_name) AS orders_status_name -- 'Статус заказа'
  11.     , IF(o.is_partial_return = 1, 'Частичный возврат', os.orders_status_name) AS orders_status_partial_return_name -- 'Статус заказа (с возвратом)'
  12.     , IF(ot.discount_type = 2, ot.discount, 0) AS orders_sum_discount_promo -- 'Скидка за промо-код, руб.'
  13.     , CAST(IFNULL(ot.discount, 0) AS DECIMAL(15,2)) AS orders_sum_discount
  14.     , IFNULL(ot.discount_type, 0) AS discount_type
  15.     , IFNULL(ot.credit,0) AS orders_sum_credit -- 'Бонусы в заказе'
  16.     , IFNULL((SELECT
  17.                         pl.number
  18.                 FROM points_log_to_orders AS plto
  19.                     LEFT JOIN remote_points_log AS pl
  20.                                 ON pl.points_log_id = plto.points_log_id
  21.                                 AND pl.points_change_type_id IN (13, 14, 15, 16, 17, 18)
  22.                     WHERE plto.orders_id = o.orders_id
  23.                     ORDER BY plto.points_log_id DESC
  24.                     LIMIT 1
  25.                                 )
  26.                
  27.                                 , 0) AS orders_sum_points_count  -- 'Баллы в заказе'
  28.    
  29.     , CAST(IFNULL(ot.total, 0) + IFNULL(ot.noncash, 0) AS DECIMAL(15,2)) AS orders_sum_total -- 'Сумма заказа, руб.'
  30.     , IFNULL(ot.noncash, 0) AS orders_sum_noncash
  31.     , IFNULL(ot.subtotal, 0) AS orders_sum_subtotal
  32.     , IFNULL(ot.shipping_original,0) AS orders_sum_shipping_original
  33.     , o.orders_consolidation
  34.     , o.shipping_class AS shipping_class -- 'Способ доставки'
  35.     , CAST(IFNULL(ot.shipping,0) AS DECIMAL(15,2)) AS orders_sum_shipping -- 'Стоимость доставки, руб.'
  36.     , IFNULL(ot.service_cost,0) AS orders_sum_service_cost -- 'Стоимость сервисного сбора, руб.'
  37.     , CONCAT(o.payment_method) AS payment_method -- 'Способ оплаты'
  38.     , IFNULL(CONCAT(bg.boxes_group_title, ' (', b.boxes_title, ')'), 'без упаковки') AS boxes_type -- 'Упаковка'
  39.     , o.customers_fias_id
  40.     , IF(o.customers_fias_id IS NULL OR o.customers_fias_id = '' OR f.id IS NULL, TRIM(COALESCE(o.customers_city, '')), COALESCE(f.offname, '')) AS orders_delivery_sity -- 'Название нас.пункта доставки'
  41.     , IFNULL(op.platform, '') AS orders_platform_source -- 'Устройство, с которого сделан заказ'
  42.     , DATE(COALESCE(po.date_purchased, o.date_purchased, '0000-00-00')) AS orders_purchased_date
  43.     , CAST(DATE_FORMAT(COALESCE(po.date_purchased, o.date_purchased, '0000-00-00'),'%Y%m%d') AS INT) AS orders_purchased_date_id
  44.     , TIME(COALESCE(po.date_purchased, o.date_purchased, '0000-00-00')) AS orders_purchased_time -- 'Время заказа'
  45.     , CAST(DATE_FORMAT(COALESCE(po.date_purchased, o.date_purchased, '0000-00-00'),'%H%i%s') AS INT) AS orders_purchased_time_id
  46.     , DATE(COALESCE(o.date_delivery_real, '0000-00-00')) AS orders_date_delivery_real
  47.     , CAST(DATE_FORMAT(COALESCE(o.date_delivery_real, '0000-00-00'),'%Y%m%d') AS INT) AS orders_date_delivery_real_id
  48.     , IFNULL(pr.promocodes_word, '') AS promocodes_name -- 'Название промокода'
  49.     , IFNULL(pr.promocodes_value, '') AS promocodes_value -- 'Сумма скидки за промокод'
  50.     , IF((SELECT MIN(oo.orders_id) FROM orders AS oo WHERE oo.customers_id = o.customers_id) = o.orders_id, 1,0) AS is_first_customers_orders
  51.     , IFNULL(osr.parent_orders_id, o.orders_id) AS parent_orders_id
  52.     , IF(osr.parent_orders_id IS NULL, COALESCE((SELECT distinct 1 FROM orders_separate_results AS osr2 WHERE osr2.parent_orders_id = o.orders_id),0), 2) parent_orders_type_id
  53.     , o.last_date_update AS last_date_update
  54.     , c.sites_id AS sites_id
  55.     , o.customers_postamat_id AS postamat_id
  56.  
  57. FROM orders AS o
  58.     JOIN orders_status AS os ON os.orders_status_id = o.orders_status
  59.     LEFT JOIN fias AS f ON f.id = o.customers_fias_id
  60.     JOIN customers c ON c.customers_id = o.customers_id
  61.     LEFT JOIN customers_source cs ON cs.customers_id = c.customers_id
  62.     LEFT JOIN utm_marks_binds umb ON umb.utm_marks_binds_id = cs.utm_marks_binds_id
  63.     LEFT JOIN utm_marks umS ON umS.utm_marks_id = umb.utm_source
  64.     LEFT JOIN utm_marks umM ON umM.utm_marks_id = umb.utm_medium
  65.     LEFT JOIN utm_marks umС ON umС.utm_marks_id = umb.utm_campaign
  66.     LEFT JOIN utm_marks umT ON umT.utm_marks_id = umb.utm_term
  67.     LEFT JOIN utm_marks umContent ON umContent.utm_marks_id = umb.utm_content
  68.     LEFT JOIN orders_total ot ON ot.orders_id = o.orders_id
  69.  
  70.     LEFT JOIN boxes b ON b.boxes_id = o.orders_box_id
  71.     LEFT JOIN boxes_group bg ON bg.boxes_group_id = b.boxes_group_id
  72.     LEFT JOIN orders_platform AS op ON op.orders_id = o.orders_id
  73.              -- LEFT JOIN tmp_orders_first_customer_order as tmporfco on tmporfco.orders_id = o.orders_id
  74.     LEFT JOIN orders_to_promocodes AS otp ON otp.orders_id = o.orders_id
  75.     LEFT JOIN promocodes AS pr ON pr.promocodes_id = otp.promocodes_id
  76.     LEFT JOIN orders_separate_results AS osr ON osr.orders_id = o.orders_id
  77.     LEFT JOIN orders AS po ON osr.parent_orders_id = po.orders_id
  78.    
  79.     JOIN dwh_upload_config AS duc on duc.component = 'dwh_orders'
  80. WHERE
  81.     o.orders_id = 2484143
  82. ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement