2017-02-18 17 views
0

StockCatalog.StockID = DeliveryContentという2つのレコードを結合している間に、テーブルQuantoryのDeliveryQuantityというレコードと共にProduct Quantityを追加して、テーブルStockCatalogのレコードをProduct Quantityという名前で更新しようとしています。 StockID内部Join DeliveryContent.DeliveryID = Deliveries.DeliveryID。これがDeliveryContentでDeliveryQuantityの1つのレコードにStockCatalog内のすべてのProductQuantityレコードを更新することを思わしかし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) 

:これまでのところ私はこれを持っています。これは混乱している場合はごめんなさい。

+0

サンプルデータと必要な出力を入力してください。 (いくつか追加する方法については、[のSQLテーブルをスタックオーバーフローでフォーマットする方法 ?](http://meta.stackexchange.com/q/96125)を参照してください。 –

答えて

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)に置き換える必要があります:私はこれが何をしたいですね。

関連する問題