2017-02-18 78 views
0

我試圖通過在表DeliveryContent中添加Product Quantity和DeliveryQuantity中的記錄來更新表StockCatalog中的記錄,同時在內部加入兩條記錄StockCatalog.StockID = DeliveryContent。 StockID內部加入DeliveryContent.DeliveryID = Deliveries.DeliveryID。到目前爲止,我有這樣的:使用SQLite中的子查詢添加更新記錄

UPDATE StockCatalog 
    SET ProductQuantity = (SELECT StockCatalog.ProductQuantity FROM StockCatalog INNER JOIN DeliveryContent on StockCatalog.StockID = DeliveryContent.StockID WHERE StockCatalog.ProductQuantity + DeliveryContent.DeliveryQuantity) 
    WHERE (SELECT DeliveryContent.DeliveryID FROM DeliveryContent INNER JOIN Deliveries on DeliveryContent.DeliveryID = Deliveries.DeliveryID) 

但是看來這個更新StockCatalog所有產品數量的記錄與DeliveryContent DeliveryQuantity的一個記錄。對不起,如果這是令人困惑。

+0

請提供一些樣本數據和您想要的輸出。 (有關如何添加一些內容,請參見[如何 格式堆棧溢出 post?](http://meta.stackexchange.com/q/96125)中的SQL表格。) –

回答

1

似乎有些混淆關於在哪裏繼續。我想這是你想要什麼:

UPDATE StockCatalog sc SET ProductQuantity = ProductQuantity + 
(SELECT DeliveryQuantity FROM DeliveryContent WHERE StockID=sc.StockID) 
WHERE StockID in (select StockID from DeliveryContent); 

如果超過一個DeliveryContent可以存在每個StockID,也許DeliveryQuantity應通過SUM(DeliveryQuantity)所取代。