繁体   English   中英

从销售表更新库存表

[英]Updating Inventory table from Sales table

嘿,我有2张桌子。

库存:

ITEMNAME | QUANTITY
---------|---------
ITEM A   |       200
ITEM B   |       310
ITEM C   |       255
ITEM D   |       115

销售:

SALENO | QUANTITY | ITEMNAME
-------|----------|---------
1001   |         5|   ITEM A
1002   |       100|   ITEM X
1003   |         1|   ITEM C
1004   |        20|   ITEM B

我遇到的问题是使用特定的SALENO更新库存QUANTITY值。

可以说我已经将库存更新到SALENO 1002。

SALENO 1003和1004是新的销售,因此我只需要从我的库存数量中减去这2个特定订单。 我该如何实现?

任何建议表示赞赏。 谢谢!

要在Oracle中使用多个表编写一条更新语句,您需要使用如下语法:

UPDATE Inventory SET 
Inventory.QUANTITY = Inventory.QUANTITY - (SELECT 
  Sales.QUANTITY
  FROM Sales 
  WHERE 
  Sales.ITEMNAME = Inventory.ITEMNAME AND
  Sales.SALENO IN (1003, 1004)
)
WHERE
(Inventory.ITEMNAME IN 
    (
      SELECT 
      s.ITEMNAME 
      FROM SALES s 
      WHERE 
      s.SALENO IN (1003, 1004)
    )
)

在这里工作的SQL提琴

以下工作可行吗?

UPDATE Inventory, Sales
SET Inventory.QUANTITY = Inventory.QUANTITY - Sales.QUANTITY
WHERE Inventory.ITEMNAME = Sales.ITEMNAME
   AND Sales.SALENO IN (1003, 1004)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM