Guten Morgen. Ich möchte eine Frage stellen, aber vorher möchte ich erklären, was ich gerade habe, bevor ich die Frage stelle.Aktualisierung Tabelle mit Berechnung von 2 anderen Tabellen
Ich habe 3 Tabellen und sie sind.
Table: Receiving
Table: GeneralInventory
und letzte ist Table: item_master_list
Ich habe ein Programm in VB.Net, das den ff erledigen wird.
1.Based auf Table: Receiving
i wird ein RINo
wählen, und ich werde das Beispiel auf das Bild oben (RI00000001
)
2.After Auswahl des RI00000001
in Table: Receiving
verwenden werde ich die Taste POST
drücken und danach diese ist was mein Code tut.
-Der Code prüft, ob die Daten aus der Spalte ItemCode
von Table:Receiving
hat die gleichen Daten in der Spalte ItemCode
von Table: GeneralInventory
.
-Nun, wenn der Vergleich wahr ist oder es gibt ein gleichen Daten aus beiden Tabellen die Spalt QtyPack
und QtyStan
von Table: Receiving
hinzugefügt werden/SUM in der Spalte Qty
von GeneralInventory
-Nun, wenn der Vergleich falsch oder Theres ist kein Vergleich zwischen zwei Tabellen, dann werden die Daten in GeneralInventory
eingefügt.
Ich hoffe, Sie bekommen es aber wenn nicht hier ist das Beispielbild.
und nun für dieses Verfahren ist mein Code dies.
Code zum Finden.
Select *
From
GeneralInventory GI
Inner Join
Receiving RE on GI.ItemCode = RE.ItemCode
Where RE.RINo = 'MyValue'
Nun, wenn der Code oben wahr ist, dann ist dies der Code
UPDATE GeneralInventory GI
INNER JOIN receiving RE ON GI.ItemCode = RE.ItemCode AND
GI.Qty = RE.QtyPack
SET GI.Qty = CAST(GI.Qty + RE.QtyPack + RE.QtyStan AS DECIMAL(6,2))
Where RE.RINo = 'MyValue'
für die Aktualisierung oder wenn es falsch ist, dann ist dies der Code für das Einfügen.
INSERT INTO GeneralInventory(ItemCode, Qty)
SELECT RE.ItemCode, RE.QtyPack
FROM
Receiving RE LEFT JOIN
GeneralInventory GI ON GI.ItemCode = RE.ItemCode AND
GI.Qty =CAST(RE.QtyPack + Re.QtyStan AS DECIMAL(6,2))
WHERE RE.RINo = 'MyValue'
Hier ist meine Frage und meine Frage an die Item_Master_List
bezogen und hier ist es.
Wie kann ich so etwas erreichen?Zuerst werde ich die Table:GeneralInventory
unter Verwendung der Table: Receiving
aktualisieren Ich möchte einige Berechnungen in Table: item_master_list
was ich meine ist, bevor ich aktualisieren oder die Daten in generalinventory
einfügen, ich werde es in item_masterlist
multiplizieren.
Wie der gleiche Wert in item_master_list
finden dann multiplizieren sie die Spalte von QtyperUoM
mit dem Wert in receiving
verwenden, bevor es in generalinventory
Spar ich Sie es hoffen.
TYSM
Gibt es eine Bedingung für die Multiplikation mit einer anderen Tabelle? –
Siehe http://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html –
@ AT-2016 Ich denke, es gibt keine Bedingung, mit der es ist wie die Multiplikation der QtyPack * QtypeUoM –