Advertisement
rexrony89

Mysql for Woocommerce Coupon

Mar 5th, 2021
794
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 5.08 KB | None | 0 0
  1.  
  2.  
  3. SELECT *
  4. FROM lc_woocommerce_order_items
  5. LEFT JOIN lc_woocommerce_order_itemmeta ON lc_woocommerce_order_items.order_item_id = lc_woocommerce_order_itemmeta.order_item_id
  6. WHERE lc_woocommerce_order_items.order_id = 10737
  7. AND (meta_key IN ('_line_total', '_qty'))
  8.  
  9.  
  10.  
  11. SELECT pc.post_title AS coupon_name,
  12.        pc.post_excerpt AS coupon_description,
  13.        Max(CASE WHEN pmc.meta_key = 'discount_type'      AND  pc.`ID` = pmc.`post_id` THEN pmc.`meta_value` END) AS discount_type,
  14.        Max(CASE WHEN pmc.meta_key = 'coupon_amount'      AND  pc.`ID` = pmc.`post_id` THEN pmc.`meta_value` END) AS coupon_amount,
  15.        Max(CASE WHEN pmc.meta_key = 'product_ids'        AND  pc.`ID` = pmc.`post_id` THEN pmc.`meta_value` END) AS product_ids,
  16.        Max(CASE WHEN pmc.meta_key = 'product_categories' AND  pc.`ID` = pmc.`post_id` THEN pmc.`meta_value` END) AS product_categories,
  17.        Max(CASE WHEN pmc.meta_key = 'customer_email'     AND  pc.`ID` = pmc.`post_id` THEN pmc.`meta_value` END) AS customer_email,
  18.        Max(CASE WHEN pmc.meta_key = 'usage_limit'        AND  pc.`ID` = pmc.`post_id` THEN pmc.`meta_value` END) AS usage_limit,
  19.        Max(CASE WHEN pmc.meta_key = 'usage_count'        AND  pc.`ID` = pmc.`post_id` THEN pmc.`meta_value` END) AS total_usaged,
  20.        po.ID AS order_id,
  21.        MAX(CASE WHEN pmo.meta_key = '_billing_email'      AND po.ID = pmo.post_id THEN pmo.meta_value END) AS billing_email,
  22.        MAX(CASE WHEN pmo.meta_key = '_billing_first_name' AND po.ID = pmo.post_id THEN pmo.meta_value END) AS billing_first_name,
  23.        MAX(CASE WHEN pmo.meta_key = '_billing_last_name'  AND po.ID = pmo.post_id THEN pmo.meta_value END) AS billing_last_name,
  24.        MAX(CASE WHEN pmo.meta_key = '_order_total'        AND po.ID = pmo.post_id THEN pmo.meta_value END) AS order_total
  25. FROM `lc_posts` AS pc
  26. INNER JOIN `lc_postmeta` AS pmc ON  pc.`ID` = pmc.`post_id`
  27. INNER JOIN `lc_woocommerce_order_items` AS woi ON pc.post_title = woi.order_item_name
  28.     AND woi.order_item_type = 'coupon'
  29. INNER JOIN `lc_posts` AS po ON woi.order_id = po.ID
  30.     AND po.post_type = 'shop_order'
  31.     AND po.post_status IN ('wc-completed', 'wc-processing', 'wc-refunded')
  32. INNER JOIN `lc_postmeta` AS pmo ON po.ID = pmo.post_id
  33. WHERE pc.post_type = 'shop_coupon'
  34. GROUP BY po.ID
  35. ORDER BY pc.ID DESC,po.ID DESC
  36. LIMIT 0, 10
  37.  
  38.  
  39. SELECT p.`ID`,
  40.        p.`post_title`   AS coupon_code,
  41.        p.`post_excerpt` AS coupon_description,
  42.        Max(CASE WHEN pm.meta_key = 'discount_type'      AND  p.`ID` = pm.`post_id` THEN pm.`meta_value` END) AS discount_type,          -- Discount type
  43.        Max(CASE WHEN pm.meta_key = 'coupon_amount'      AND  p.`ID` = pm.`post_id` THEN pm.`meta_value` END) AS coupon_amount,          -- Coupon amount
  44.        Max(CASE WHEN pm.meta_key = 'free_shipping'      AND  p.`ID` = pm.`post_id` THEN pm.`meta_value` END) AS free_shipping,          -- Allow free shipping
  45.        Max(CASE WHEN pm.meta_key = 'expiry_date'        AND  p.`ID` = pm.`post_id` THEN pm.`meta_value` END) AS expiry_date,                -- Coupon expiry date
  46.        Max(CASE WHEN pm.meta_key = 'minimum_amount'     AND  p.`ID` = pm.`post_id` THEN pm.`meta_value` END) AS minimum_amount,         -- Minimum spend
  47.        Max(CASE WHEN pm.meta_key = 'maximum_amount'     AND  p.`ID` = pm.`post_id` THEN pm.`meta_value` END) AS maximum_amount,         -- Maximum spend
  48.        Max(CASE WHEN pm.meta_key = 'individual_use'     AND  p.`ID` = pm.`post_id` THEN pm.`meta_value` END) AS individual_use,         -- Individual use only
  49.        Max(CASE WHEN pm.meta_key = 'exclude_sale_items' AND  p.`ID` = pm.`post_id` THEN pm.`meta_value` END) AS exclude_sale_items,         -- Exclude sale items
  50.        Max(CASE WHEN pm.meta_key = 'product_ids'    AND  p.`ID` = pm.`post_id` THEN pm.`meta_value` END) AS product_ids,                -- Products
  51.        Max(CASE WHEN pm.meta_key = 'exclude_product_ids'AND  p.`ID` = pm.`post_id` THEN pm.`meta_value` END) AS exclude_product_ids,        -- Exclude products
  52.        Max(CASE WHEN pm.meta_key = 'product_categories' AND  p.`ID` = pm.`post_id` THEN pm.`meta_value` END) AS product_categories,             -- Product categories
  53.        Max(CASE WHEN pm.meta_key = 'exclude_product_categories' AND  p.`ID` = pm.`post_id` THEN pm.`meta_value` END) AS exclude_product_categories,-- Exclude Product categories
  54.        Max(CASE WHEN pm.meta_key = 'customer_email'     AND  p.`ID` = pm.`post_id` THEN pm.`meta_value` END) AS customer_email,         -- Email restrictions
  55.        Max(CASE WHEN pm.meta_key = 'usage_limit'    AND  p.`ID` = pm.`post_id` THEN pm.`meta_value` END) AS usage_limit,                -- Usage limit per coupon
  56.        Max(CASE WHEN pm.meta_key = 'usage_limit_per_user'   AND  p.`ID` = pm.`post_id` THEN pm.`meta_value` END) AS usage_limit_per_user,   -- Usage limit per user
  57.        Max(CASE WHEN pm.meta_key = 'usage_count'    AND  p.`ID` = pm.`post_id` THEN pm.`meta_value` END) AS total_usaged                   -- Usage count
  58. FROM   `lc_posts` AS p INNER JOIN `lc_postmeta` AS pm ON  p.`ID` = pm.`post_id`
  59. WHERE  p.`post_type` = 'shop_coupon'
  60.        AND p.`post_status` = 'publish'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement