Hey guys, I am writing a function to calculate an order total. I am looking at an SQL to pull this information and not hack it up with php like I currently have.
Each order has order offers for each item. Since we commonly have order amendments there might be more than one version of an order offer. The highest offer version is the data we use in calculating a price.
Now, here is the SQL I use to pull all of the order offers for the individual orders:
Now, I need to create a similar SQL to pull the coupons for each order offer. Each order offer MAY have more than one coupon or may not have them at all.Code:SELECT * FROM order_offer offer WHERE offer.order_id = ? AND offer.offer_version IN (SELECT MAX(offer_version) FROM order_offer WHERE offer_id = offer.offer_id) "
Here is the SQL I use to find valid order offers that CAN have coupons applied (if it helps)
Thank you for the help!Code:SELECT * FROM order_offer offer WHERE offer.order_id = ? AND offer.offer_version IN (SELECT MAX(offer_version) FROM order_offer WHERE offer_id = offer.offer_id) AND offer.offer_id NOT IN ( SELECT o.offer_id FROM order_offer o LEFT JOIN order_coupons c ON o.offer_id = c.offer_id WHERE o.offer_version = offer.offer_version AND o.offer_version = c.offer_version AND c.order_coupon_stackable = 0 AND o.order_id = offer.order_id )"


Reply With Quote


Bookmarks