かなり単純な注文書追跡データベースを開発しようとしています。これを行う最も効率的な方法を視覚化するのに苦労しています。
現時点では、4 つのテーブルがあります。
Purchase Order table:
PO Number, Customer Product Number, Quantity
6874 , ABC-0001 4
6873 , XYX-2222 1
Customer Product Table:
Customer Product Number, Finished Goods Number
ABC-0001 , 501-123
ABC-0001 , 501-124
ABC-0001 , 501-125
Finished Goods Table:
Finished Goods Number, Component Number, QTY Per FG
501-123 , COMP-0001 , 1
501-123 , COMP-0004 , 16
501-123 , COMP-0009 , 12
501-124 , COMP-0005 , 5
501-124 , COMP-0003 , 9
501-124 , COMP-0001 , 10
501-125 , COMP-0006 , 3
501-125 , COMP-0004 , 2
501-125 , COMP-0003 , 1
Component Table, Suppplier ID, (etc. etc. etc.)
COMP-0001
COMP-0002
COMP-0003
COMP-0004
COMP-0005
COMP-0006
COMP-0007
COMP-0008
COMP-0009
COMP-0010
特定の注文を行うために必要なすべての個々のコンポーネントのリストを生成する必要があります。したがって、リストは次のようになります。
COMP-0001 - 44 (order quantity = 4 * (1 in 501-123 + 10 in 501-124)
などなど
これは SQL でのみ実行できますか、それとも、カーソルを使用してステップ間で中間テーブルを生成するステップで実行する必要がありますか? これは非常に簡単なことのように思えますが、その方法の例を 1 つも見つけることができませんでした。
テーブルは適度に大きいです。
Order table is around 6000 orders (some of which are already complete, typically 300 or so currently open)
Customer Product Table around 2000 items
Finished Goods around 2000
The component table contains over 20,000 separate components
結果を達成するための正しい方法でこれを行っていますか?
感謝して受け取った助け。