おはようございます。 私はいくつかの質問をしたいが、その前に私は質問をする前に私が現在持っていることを説明したい。他の2つのテーブルの計算を使用してテーブルを更新する
私は3つのテーブルを持っています。
Table: Receiving
Table: GeneralInventory
と最後のものはTable: item_master_list
私はVB.Netでffを実行するプログラムを持っています。 Table: Receiving
上
1.Based iはRINo
選択されますと、私は私がボタン POST
を押します(RI00000001
)
2.AfterがTable: Receiving
でRI00000001
を選択する上での画像の上に例を使用すると、この後に私のコードがしているものです。 Table:Receiving
の列ItemCode
からのデータが列Table: GeneralInventory
のItemCode
で同じデータを持っている場合
-Theコードがチェックされます。
-Now比較が真であるか、両方のテーブルから同じデータがあるかどうTable: Receiving
から列QtyPack
とQtyStan
が追加されます/ SUMを柱-Now
GeneralInventory
の
Qty
で比較がFalseかtheresのであれば2つのテーブルを比較しない場合、データは
GeneralInventory
に挿入されます。
私はあなたがそれを得ることを望みますが、ここにサンプル画像はありません。
とその手続きのために、今私のコードこれです。
コードを検索してください。
Select *
From
GeneralInventory GI
Inner Join
Receiving RE on GI.ItemCode = RE.ItemCode
Where RE.RINo = 'MyValue'
次に、上記のコードが真である場合、これは、これは挿入するためのコードである
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'
かが偽である場合を更新するためのコードです。
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'
は今ここに私の質問で、私の質問はItem_Master_List
に関連しており、ここにあります。
どうすればこのようにすることができますか?最初に私はTable: Receiving
を使ってTable:GeneralInventory
を更新する前に、Table: item_master_list
で計算をしたいのですが、それはgeneralinventory
にデータを更新または挿入する前です。item_masterlist
で乗算します。
などが、私はあなたがそれを得ることを願っていgeneralinventory
でそれを保存する前receiving
に値を使用してQtyperUoM
の列を使用して、それを掛けitem_master_list
に同じ値を見つけます。
TYSM
他のテーブルから乗算を行う条件はありますか? –
これを参照してくださいhttp://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html –
@ AT-2016私はそれがQtyPackを掛けるようなものであるという条件はないと思う* QtyperUoM –