Ich versuche, einen Weg über eine SQL Server 2008 Datenbank durch eine Auftragsliste zu durchlaufen und offene Nachfrage für ein Teil zu erhalten, bestellen Sie nach Fälligkeitsdatum Sehen Sie sich dann eine Bestellungstabelle an und erfüllen Sie die Bestellungen nach Bestellung, und bestellen Sie die Bestellung ebenfalls bis zum Fälligkeitsdatum. Gleichzeitig muss ich zeigen, welche Bestellung (en) den Kundenauftrag erfüllen.So zeigen Sie Auftragserfüllung in einer SQL Server 2008-Abfrage
Zum Beispiel:
SO
Tisch
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
Tabelle:
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
Mit diesen Daten würde Ich mag dieses Ergebnis sehen:
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
Ich habe diesen Kundenauftragsabwicklungsprozess bereits durchgeführt, aber nicht bis zu dem Punkt, an dem die Bestellung (en) die Bestellung erfüllen, sondern nur bis zur Summe aller offenen Lieferungen, dann durchläuft und subtrahiert die Lieferung von jedem Kundenauftrag um ein laufendes Restguthaben zu bekommen.
Vielen Dank im Voraus für Ihre Hilfe.
Die Logik für die Ausgabetabelle, insbesondere 'Menge Remain' ist nicht klar, . – Ash
Wenn Sie eine Antwort wollen, schlage ich vor, dass Sie SQLFiddle.com verwenden, um ein Beispiel zu erstellen, mit dem wir spielen können. Der Ansatz, den ich verwenden würde, besteht darin, eine Abfrage zu schreiben, die die nächste "verbleibende" Bestellung in der Warteschlange auf den nächsten verbleibenden Auftrag in der Warteschlange anwendet, und diese Abfrage dann einfach erneut auszuführen, bis Sie keine SOs oder POs mehr haben. Sie benötigen eine Arbeits-Tabelle, die sowohl Tabellen erfasst und Arbeitsbeträge aufzeichnet, als auch eine andere Tabelle, um den endgültigen Betrag aufzuzeichnen. –
@AshwinNair Alle Ausgaben 'QTY'-Spalten sind eine laufende Summe. Schauen Sie sich jede Zeile so an, als ob die Bestellung so viel von der SO erfüllt hat wie möglich, wir erfassen, wie viele Teile verwendet wurden und wie viele noch benötigt werden, wenn die Bestellung nicht genügend Teile enthält oder wie viele Teile in der Bestellung verbleiben Nicht alle von ihnen wurden benutzt. Die nächste Zeile ist dann entweder der Effekt der nächsten PO auf ein unvollständiges SO oder das nächste SO, wenn die aktuelle SO vollständig erfüllt ist. – iamdave