SQL:将两列(来自不同的表)和插入/更新(其中一个表)相乘

时间:2015-05-29 09:58:09

标签: tsql

我有两张桌子:

Stock

ItemID Quantity
111  5.0
222     3.0

Item

ItemID  Sellper
111     1.0
222     2.0

我想使用ItemID执行Quantity*Sellper,并使用结果更新库存表中的数量字段

SELECT *,Stock.StockQuantity * Item.SellPer As FinaLStockQuantity 
FROM Stock, Item 
WHERE Stock.ItemID = Item.ItemID   

我可以使用上述查询获得两列产品的结果,但无法更新库存表。

有人可以帮忙吗? P.S:对这篇文章的可怕格式表示歉意

1 个答案:

答案 0 :(得分:1)

您需要UPDATE语句来修改现有数据。该文档有numerous examples关于如何从其他表的数据更新一个表。

在您的情况下,假设每Item行只有一个Stock行,您可以编写以下查询

UPDATE Stock
SET Quantity=Quantity*Item.SellPer
From Stock  s inner join Item i
    on s.ItemID=i.ItemID