Skip to content

Instantly share code, notes, and snippets.

@shareefhiasat
Created May 15, 2017 16:00
Show Gist options
  • Save shareefhiasat/48b4afa68f941f5b87ece4a19b41cba4 to your computer and use it in GitHub Desktop.
Save shareefhiasat/48b4afa68f941f5b87ece4a19b41cba4 to your computer and use it in GitHub Desktop.
SELECT SQL_NO_CACHE `payment`.`id` as id,`order`.`id` as order_id,GROUP_CONCAT(DISTINCT (case when submission_entry.text='' OR submission_entry.text is NULL then ' ' else submission_entry.text end) ORDER BY question.var DESC SEPARATOR 0x1D) as buyer,event.name as event,COUNT(DISTINCT CASE WHEN `order_item`.status >0 THEN `order_item`.id ELSE NULL END) as qty,payment.currency AS `currency`,ROUND(payment.total + COALESCE(refunds_total, 0), 2) as 'total',`payment_type`.`name` as payment_type,payment_status.name as status,`payment_status`.`id` as status_id,DATE_FORMAT(CONVERT_TZ(payment.`paid_on`,'+0:00','-9:00'),'%d/%m/%Y %H:%i') as 'created',`user`.`name` as 'agent',order.last_log,order.log_history,event.id as event_id,payment.checked,DATE_FORMAT(CONVERT_TZ(payment.checked_date,'+0:00','-9:00'),'%d/%m/%Y'),`payment`.`settled` AS `settled`,DATE_FORMAT(CONVERT_TZ(`payment`.`settled_date`,'+0:00','-9:00'),'%d/%m/%Y') AS `settled date`,`payment`.`delivery_status` AS `delivered` FROM `order_item` INNER JOIN `payment` ON payment.id = `order_item`.`payment_id` AND payment.status > 0.0 LEFT JOIN (SELECT sum(`payment_refund`.total) AS `refunds_total`, payment_refunds.payment_id AS `payment_id` FROM payment INNER JOIN `payment_refunds` ON payment_refunds.payment_id = payment.id INNER JOIN `payment` AS `payment_refund` ON `payment_refund`.id = `payment_refunds`.payment_id_refund INNER JOIN `user` ON `user`.id = `payment_refunds`.user_id Group by `payment_refunds`.payment_id) AS `refunds` ON `refunds`.payment_id = payment.id INNER JOIN `order` ON `order`.`id` = order_item.order_id INNER JOIN event_date_product ON event_date_product.id = order_item.event_date_product_id INNER JOIN event_date ON event_date.id = event_date_product.event_date_id INNER JOIN event ON event.id = event_date.event_id INNER JOIN payment_status ON payment_status.id = payment.status INNER JOIN payment_type ON payment_type.id = payment.payment_type_id LEFT JOIN user ON user.id = payment.completed_by LEFT JOIN submission_entry ON submission_entry.form_submission_id = `payment`.`form_submission_id` LEFT JOIN question ON question.id = submission_entry.question_id WHERE 1 = 1 AND question.var in ('name','email') AND (order_item.status > 0.0 OR order_item.status = -2.0) GROUP BY `order`.`id`, `payment`.`id` HAVING 1 = 1 ORDER BY `order`.id DESC LIMIT 10
another when we use filter on orders for email
SELECT SQL_CACHE `payment`.`id` as id,`order`.`id` as order_id,GROUP_CONCAT(DISTINCT (case when submission_entry.text='' OR submission_entry.text is NULL then ' ' else submission_entry.text end) ORDER BY question.var DESC SEPARATOR 0x1D) as buyer,event.name as event,COUNT(DISTINCT CASE WHEN `order_item`.status >0 THEN `order_item`.id ELSE NULL END) as qty,payment.currency AS `currency`,ROUND(payment.total + COALESCE(refunds_total, 0), 2) as 'total',`payment_type`.`name` as payment_type,payment_status.name as status,`payment_status`.`id` as status_id,DATE_FORMAT(CONVERT_TZ(payment.`paid_on`,'+0:00','-9:00'),'%d/%m/%Y %H:%i') as 'created',`user`.`name` as 'agent',order.last_log,order.log_history,event.id as event_id,payment.checked,DATE_FORMAT(CONVERT_TZ(payment.checked_date,'+0:00','-9:00'),'%d/%m/%Y'),`payment`.`settled` AS `settled`,DATE_FORMAT(CONVERT_TZ(`payment`.`settled_date`,'+0:00','-9:00'),'%d/%m/%Y') AS `settled date`,`payment`.`delivery_status` AS `delivered` FROM `order_item` INNER JOIN `payment` ON payment.id = `order_item`.`payment_id` AND payment.status > 0.0 LEFT JOIN (SELECT sum(`payment_refund`.total) AS `refunds_total`, payment_refunds.payment_id AS `payment_id` FROM payment INNER JOIN `payment_refunds` ON payment_refunds.payment_id = payment.id INNER JOIN `payment` AS `payment_refund` ON `payment_refund`.id = `payment_refunds`.payment_id_refund INNER JOIN `user` ON `user`.id = `payment_refunds`.user_id Group by `payment_refunds`.payment_id) AS `refunds` ON `refunds`.payment_id = payment.id INNER JOIN `order` ON `order`.`id` = order_item.order_id INNER JOIN event_date_product ON event_date_product.id = order_item.event_date_product_id INNER JOIN event_date ON event_date.id = event_date_product.event_date_id INNER JOIN event ON event.id = event_date.event_id INNER JOIN payment_status ON payment_status.id = payment.status INNER JOIN payment_type ON payment_type.id = payment.payment_type_id LEFT JOIN user ON user.id = payment.completed_by LEFT JOIN submission_entry ON submission_entry.form_submission_id = `payment`.`form_submission_id` LEFT JOIN question ON question.id = submission_entry.question_id WHERE 1 = 1 AND question.var in ('name','email') AND (order_item.status > 0.0 OR order_item.status = -2.0) GROUP BY `order`.`id`, `payment`.`id` HAVING GROUP_CONCAT(DISTINCT (case when submission_entry.text='' then ' ' else submission_entry.text end) ORDER BY question.var DESC SEPARATOR 0x1D) like '%.com%' ORDER BY `order`.id DESC
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment