使用其他2个表

时间:2016-08-02 04:51:01

标签: mysql database vb.net

早上好。 我想问一些问题,但在此之前,我想在提出问题之前解释一下我目前所拥有的问题。

我有3张表,他们是。

Table: Receiving

enter image description here

Table: GeneralInventory

enter image description here

,最后一个是Table: item_master_list

enter image description here

我在VB.Net中有一个程序可以执行ff。

1.基于Table: Receiving我将选择RINo,我将使用上图中的示例(RI00000001

2.在RI00000001中选择Table: Receiving后,我将按下按钮 POST之后,这就是我的代码所做的。

- 代码将检查ItemCode的{​​{1}}列中的数据是否与Table:Receiving的{​​{1}}列中的数据相同。

- 如果比较为真或两个表中的数据相同,则ItemCode中的Table: GeneralInventoryQtyPack列将添加到QtyStan列中1 {} Table: Receiving

- 如果比较为假或两个表之间没有比较,则数据将插入Qty

我希望你能得到它,但如果没有,那么样本图片。

enter image description here

现在我的代码就是这个。

寻找代码。

GeneralInventory

现在如果上面的代码为真,那么这就是更新

的代码
GeneralInventory

或如果它是false,则这是插入的代码。

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:GeneralInventory中进行一些计算我的意思是在我更新或在Table: Receiving中插入数据之前我会倍增它在Table: item_master_list

generalinventory中找到相同的值,然后使用item_masterlist中的值使用item_master_list中的值将其相乘,然后将其保存在QtyperUoM

我希望你明白。

TYSM

2 个答案:

答案 0 :(得分:1)

使用以下查询进行更新:

UPDATE GeneralInventory SET Qty = (Qty * QtyperUoM) + l.QtyStan
FROM GeneralInventory s INNER JOIN item_master_list i 
on s.ItemCode = i.ItemCode INNER JOIN Receiving l ON s.ItemCode = l.ItemCode

刚刚就表关系进行了内部联系。

答案 1 :(得分:0)

UPDATE generalinventory gi
set gi.qty = (SELECT (r.QtyPack * r.QtyperUoM + r.QtySan) 
           from receiving r, item_master_list ml
           where r.itemCode = ml.itemCode
           and   t.itemCode = gi.itemCode)