2015-05-29 25 views
0

我有两个表:SQL:乘以两列(从不同的表)和插入/更新(在表中的一个)

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:道歉为这篇文章的可怕格式化

+0

您需要'UPDATE'命令来更新目标表。你尝试过什么吗?另外,您是否想要更新'StockQuantity'字段或添加一个名为'FinalStockQuantity'的新字段? –

+0

我想更新股票表中已有的StockQuantity。我试过更新查询,但并不知道如何编写子查询以获取错误。 – Chi

回答

1

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

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

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

感谢您的快速回复!我得到“多部分标识符”Item.SellPer“无法绑定。”当我尝试运行查询时出错。 – Chi

+0

谢谢了! :)你是一个明星! – Chi

相关问题