thongthongthong

[Reconcile] WCV

Dec 14th, 2021 (edited)
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 3.29 KB | None | 0 0
  1. WITH DATA AS
  2. (SELECT DISTINCT
  3.     orderid
  4.     , DATE(FROM_UNIXTIME(MIN(ctime - 3600))) AS escrow_time
  5. FROM
  6.     marketplace.shopee_order_audit_v3_db__order_audit_tab__vn_daily_s0_live
  7. WHERE
  8.     new_status = 14
  9. AND DATE(FROM_UNIXTIME((ctime - 3600))) >= DATE'2021-01-01' --new
  10. GROUP BY 1
  11. )
  12. , user_tab AS
  13. (SELECT * FROM mp_user.dim_shop__vn_s0_live WHERE grass_date = (SELECT MAX(grass_date) FROM mp_user.dim_shop__vn_s0_live WHERE grass_date = (SELECT MAX(grass_date) FROM mp_user.dim_shop__vn_s0_live)))
  14. , item AS
  15. (SELECT * FROM mp_item.dim_model__vn_s0_live WHERE grass_date = (SELECT MAX(grass_date) FROM mp_item.dim_model__vn_s0_live WHERE grass_date = (SELECT MAX(grass_date) FROM mp_item.dim_model__vn_s0_live)))
  16. , dim_user AS (
  17. SELECT DISTINCT user_id, default_delivery_address_state FROM mp_user.dim_user__vn_s0_live WHERE grass_date = CURRENT_DATE - INTERVAL '2' DAY)
  18. ,prefix AS
  19. (SELECT
  20.     promotionid,
  21.     prefix
  22. FROM
  23.     marketplace.shopee_voucher_db__promotion_tab__vn_daily_s0_live
  24. WHERE
  25.     UPPER(name) LIKE '%REISSUE%'),
  26. tb_o AS (
  27. SELECT
  28.     o.create_datetime,
  29.     d.escrow_time,
  30.     o.base_checkout_id,
  31.     o.shop_id,
  32.     u.user_name,
  33.     o.buyer_id,
  34.     pv_promotion_id AS promotionid,
  35.     pv_voucher_code,
  36.     o.order_id,
  37.     default_delivery_address_state,
  38.     SUM(o.cogs) cogs,
  39.     SUM(gmv) gmv,
  40.     SUM(o.pv_rebate_by_shopee_amt) pv_rebate_by_shopee_amt
  41. FROM
  42.     mp_order.dwd_order_item_all_ent_df__vn_s0_live o
  43. INNER JOIN
  44.     DATA d
  45. ON
  46.     d.orderid = o.order_id
  47. LEFT JOIN
  48.     user_tab u
  49. ON
  50.     u.shop_id = o.shop_id
  51. LEFT JOIN
  52.     prefix p
  53. ON
  54.     p.promotionid = o.pv_promotion_id
  55. LEFT JOIN
  56.     dim_user du
  57. ON
  58.     o.buyer_id = du.user_id
  59.  
  60. WHERE
  61.     DATE(split(o.create_datetime, ' ')[1]) > DATE'2020-02-29'
  62. AND
  63.     d.escrow_time BETWEEN DATE'2022-03-01' AND DATE'2022-03-31'
  64. AND
  65.     (regexp_like(o.pv_voucher_code, '^AP.*|AIRPAY') OR regexp_like(o.pv_voucher_code, '^SPP.*|SHOPEEPAY'))
  66. AND
  67.     pv_voucher_code IN ('APMKPNU', 'APMKPEU', 'APMKPEU21', 'APMKPNU21', 'APMKPEU2021', 'SPPMKPNU1021', 'SPPMKPEU1021')
  68. AND
  69.     o.payment_method_id IN (28,30,5)
  70. AND
  71.     o.pv_rebate_by_shopee_amt <> 0
  72. GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
  73.     )
  74. SELECT
  75. SUM(pv_rebate_by_shopee_amt)
  76. -- tba.*, tbb.partner_account_id AS sp_user, tbc.uid AS spp_uid2, tbc.register_mobile_no AS spp_phone,o2.order_id spp_order_id
  77. FROM  tb_o tba
  78. LEFT JOIN --to remove duplicate
  79. (SELECT partner_account_id, max_by(uid, create_time) uid FROM shopeepay.airpay_user_service_vn_db__wallet_partner_account_tab__vn_daily_s0_live GROUP BY 1) tbb ON tba.buyer_id = tbb.partner_account_id
  80. LEFT JOIN --to remove duplicate
  81. (SELECT uid, max_by(register_mobile_no, register_time) register_mobile_no FROM shopeepay.airpay_user_service_vn_db__user_register_tab__vn_daily_s0_live GROUP BY 1) tbc ON tbc.uid = tbb.uid
  82. LEFT JOIN --to remove duplicate
  83. (SELECT DISTINCT CAST(json_extract_scalar(o2.partner_data,'$.checkout_id') AS BIGINT) checkout_id, max_by(o2.order_id, tb1.valid_time) order_id
  84. FROM
  85. shopeepay.airpay_merchant_shopee_txn_vn_db__wallet_order_log_tab__vn_daily_s0_live o2
  86. LEFT JOIN shopeepay.airpay_payment_txn_vn_db__txn_order_tab__vn_daily_s0_live tb1 ON o2.order_id = tb1.order_id
  87. WHERE STATUS = 8
  88. GROUP BY 1) o2            
  89. ON CAST(tba.base_checkout_id AS BIGINT) = o2.checkout_id
  90. WHERE 1=1
Advertisement
Add Comment
Please, Sign In to add comment