我有一個Oracle 10g數據庫有兩個表:一個REBATES表和一個ORDERS表。比較兩個表之間的值範圍
回扣表看起來有點像這樣:
| rebate_percentage | min_purchase |
------------------------------------
| 1.0 | 5000 |
| 1.5 | 7000 |
| 2.0 | 11000 |
| 5.0 | 20000 |
我試圖確定的回扣比例應用,基於總訂單。我知道如何在特定時間範圍內找到特定客戶的所有訂單的總和,但我怎樣才能在一個查詢中獲得回扣百分比?
例如,如果訂單總數爲16,000,那麼我如何構建一個接受此值的查詢,將它與REBATES表進行比較,並返回2.0?
您可能需要添加邏輯來處理max_purchase NULL值(不是100 %肯定鉛()返回最後一行,我假設NULL) –
@戈登Linoff:還有一件事,如果我加入訂單表,那麼只有那些記錄填充誰的價值下注在最小和最大購買範圍內。如果訂單價值低於最低購買價格,那麼其回扣應爲0。 –
@戈登:請更正您的解決方案:'或rebates.max_purchase爲空'不是'totalorders爲空'+1爲您的解決方案:) –