2017-02-28 66 views
1

因此,我需要從「qitems」表中的現有數量中從我的「Consuming」表中減去交付的數量。但是,有重複的項目,它只爲每個項目減去一次。我該怎麼辦?我附上了表格的截圖。預先感謝任何幫助!從具有重複項的列中減去

Update qi 
Set qi.QtyOnHand = (qi.QtyOnHand - c.delqty) 
From qitem qi 
Inner Join Consuming c 
on qi.itemname = c.itemname 

+1

您需要在加入之前對'數量'進行分組並耗費數量。 *請*不要加入'itemname'!使用主鍵和外鍵。 – shmosel

+0

你的語法不是MySQL語法。你確定數據庫標籤嗎? –

+0

我修好了!對不起,關於 –

回答

0

讓我假設你正在使用SQL Server的基礎上的語法。不管數據庫如何,這個想法都是一樣的。在進行更新之前,您需要進行彙總:

Update qi 
    Set qi.QtyOnHand = (qi.QtyOnHand - c.delqty) 
    From qitem qi Inner Join 
     (select c.itemname, sum(c.delqty) as delqty 
      from Consuming c 
      group by c.itemname 
     ) c 
     on qi.itemname = c.itemname; 
+0

非常感謝!那很完美 –