2
我想要通過銷售訂單表來運行數據庫,並獲取零件的開放需求,並按截止日期對其進行排序,然後查看採購訂單表並通過採購訂單完成銷售訂單,並根據到期日訂購採購訂單供應。同時,我需要顯示PO完成銷售訂單的情況。如何在SQL Server 2008查詢中顯示訂單履行
例如:
SO
表
SO# DueDate Part Number Required QTY
---------------------------------------------
100 9/3/16 1012 2
101 9/12/16 1012 1
107 10/11/16 1012 4
103 10/17/16 1012 7
PO
表:
PO# DueDate Part Number Ordered QTY
--------------------------------------------
331 9/1/16 1012 1
362 9/2/16 1012 1
359 9/24/16 1012 5
371 10/1/16 1012 3
380 10/10/16 1012 10
有了這個數據,我想看到這種結果:
SO# DueDate Part Number Required QTY PO number QTY Used QTY Remain
--------------------------------------------------------------------------
100 9/3/16 1012 2 331 1 0
100 9/3/16 1012 1 362 1 0
101 9/12/16 1012 1 359 1 4
107 10/11/16 1012 4 359 4 0
103 10/17/16 1012 7 371 3 0
103 10/17/16 1012 7 380 4 6
我之前已經完成了這個銷售訂單履行流程,但並沒有打破訂單履行的要點,而僅僅是總結所有未清供應,然後通過並減去每個銷售訂單的供應量以獲得剩餘供應的運行平衡。
非常感謝您的幫助。
用於輸出表的邏輯,尤其是'數量Remain'不明確。 – Ash
如果你想要一個答案,我建議你使用SQLFiddle.com來設置一個我們可以玩的例子。我將使用的方法是編寫一個查詢,將隊列中的下一個「剩餘」採購訂單應用到隊列中的下一個剩餘銷售訂單,然後重新運行該查詢,直到您用完SO或PO。你需要一個工作表,可以對兩個表進行快照並記錄工作量,以及另一個表格來記錄最終金額。 –
@AshwinNair所有輸出的「QTY」列都是運行總數。查看每一行,就好像PO已經完成了儘可能多的SO,我們記錄了使用了多少個零件,並且如果PO沒有包含足夠的零件或PO中剩餘多少零件,仍然需要多少零件並不是所有的人都被使用過。然後下一行是未完成SO上的下一個PO的效果,或者是當前SO完全滿足時的下一個SO。 – iamdave