2014-12-04 64 views
0

我有以下結構的表:補水配方的Oracle SQL查詢

產品編號
項目說明
最低訂購數量
最大數量
再訂購數量
當前庫存位置
當前庫存主要地點
補貨數量

我想計算補貨數量,那麼oracle SQL中的正確公式是什麼?

實施例:
物品代碼 - ABCD
項描述 - ABCD整個項目
最小數量 - 20
最大數量 - 100
重新排序數量 - 20
現有存貨中的位置 - 15
當前股票在主要位置 - 5930

從上面我要計算補貨基於補貨數量將以再訂貨數量爲增量的數據,但不應超過最大數量,並且只有在當前庫存在庫位低於最小數量且庫存在主庫位時才補充的數據。

從上面的例子,我得補充量爲提前80

感謝。

+0

我認爲你問的業務 – Exhausted 2014-12-04 10:48:28

+0

我需要函數來計算使用條件的數量。 – user3625561 2014-12-04 10:54:50

+0

你有沒有公式 – Exhausted 2014-12-04 10:55:18

回答

0

這是不是一個真正的Oracle的問題,但我猜你的意思是這樣,(插入你的表和列名):

select trunc((ma-cu)/re)*re 
from(
select 20 mi, 100 ma, 20 re, 15 cu 
    from dual) 

編輯: 也許這也很重要(我真的野生猜測在這裏):

select least(trunc((ma-cu)/re)*re, trunc(cu_m/re)*re) 
from(
select 20 mi, 100 ma, 20 re, 15 cu, 5930 cu_m 
    from dual) 
+0

謝謝,但你不認爲它應該是20的倍數。舉一個例子,mi 120,ma是240,re 120,82 cu。 'code'select trunc((ma-cu)/ re)* re from(從double中選擇120 mi,240 ma,120 re,82 cu)將得到158不是120的倍數(重新排序級別) – user3625561 2014-12-04 11:14:44

+0

我得到120,當我嘗試這個數字。 – 2014-12-04 11:20:24

+0

非常感謝,我沒有使用trunc。沒關係。你能指導我補充數量爲零的主要地點庫存是不是充足的。謝謝。 – user3625561 2014-12-04 11:27:49