2015-11-16 59 views
0

我無法創建基於入站訂單表更新庫存表的SQL語句。更新基於訂單的庫存表數量

入境

OrderID ProductID Description ShipQty 
001  2   Apple  3 
002  4   Orange  4 
003  1   Grape  1 
004  2   Apple  6 
005  5   Strawberry 3 
006  3   Pear   1 
007  1   Grape  2 

庫存

ProductID Description Qty 
1   Grape  10 
2   Apple  10 
3   Pear   10 
4   Orange  10 
5   Strawberry 10 

哪些廣告看起來應該更新後

ProductID Description Qty 
1   Grape  13 
2   Apple  19 
3   Pear   11 
4   Orange  14 
5   Strawberry 13 
+0

描述你所面對 – Thamilan

回答

1

你可以試試這個:

UPDATE INVENTORY 
SET Qty = Qty + (SELECT SUM(ShipQty) FROM INBOUND WHERE ProductID = INVENTORY.ProductID) 
+0

麻煩這似乎很好地工作!謝謝。我的版本只是在Inbound表中添加每個產品的第一個實例並忽略第二個實例。 –

0

嘗試如下:

update INVENTORY 
set qty = qty + TotalQty 
from (
select INBOUND.ProductID, sum(shipqty) as TotalQty 
from INBOUND 
group by INBOUND.ProductID 
) as a 
where a.ProductID = INVENTORY.ProductID 
+0

我無法得到這個工作,它不斷給我的語法錯誤,我不能修復。我有一個工作sqlfiddle在這裏測試:http://sqlfiddle.com/#!9/c141c/1 –