php - Complicated SQL figuring out how to pull most recent data -


i writing function calculate order total. looking @ sql pull information , not hack php have.

each order has order offers each item. since commonly have order amendments there might more 1 version of order offer. highest offer version data use in calculating price.

now, here sql use pull of order offers individual orders:

select * order_offer offer  offer.order_id = ? , offer.offer_version in (select max(offer_version) order_offer offer_id =      offer.offer_id) 

now, need create similar sql pull coupons each order offer. each order offer may have more 1 coupon or may not have them @ all.

here sql use find valid order offers can have coupons applied (if helps)

select * order_offer offer  offer.order_id = ? , offer.offer_version in (select max(offer_version) order_offer offer_id =  offer.offer_id) , offer.offer_id not in ( select o.offer_id order_offer o left join order_coupons c on o.offer_id = c.offer_id  o.offer_version = offer.offer_version , o.offer_version = c.offer_version , c.order_coupon_stackable = 0 , o.order_id = offer.order_id ) 

thank help!

can't (it give coupons last offer):

select * order_offer offer  left join order_coupons c on offer.offer_id = c.offer_id , offer.offer_version = c.offer_version offer.order_id = ? , offer.offer_version in (select max(offer_version) order_offer offer_id =      offer.offer_id) 

Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

qt - Errors in generated MOC files for QT5 from cmake -