0
我在寫一個函數來計算訂單總額。我正在查看一個SQL來獲取這些信息,而不是像現在那樣使用php來破解它。複雜的SQL搞清楚如何拉取最新的數據
每個訂單都有每個商品的訂單優惠。由於我們通常有訂單修改,因此可能會有多個版本的訂單報價。最高報價版本是我們用於計算價格的數據。
現在,這裏是我用拉的所有訂單提供了單獨的訂單SQL:
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)
現在,我需要建立一個類似於SQL摳券每張訂單的報價。每個訂單優惠可能有多張優惠券或根本沒有優惠券。
下面是我用它來發現可以應用的優惠券(如果它幫助)爲了有效報價
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
)
謝謝你的幫助SQL!
這幾乎是完美的,但左連接需要通過offer_id和offer_version。這目前拉所有優惠券 – 2013-05-10 03:14:49
你是對的。固定 – cha 2013-05-10 03:43:11