我有两张桌子("短缺","订单")。短缺包含每个材料一次,订单是所有材料订单。我正在尝试使用Orders中所有材料订单的总和来更新Shortages字段CurrentWeek。
我不是一个SQL大师,这让我很难过。我用google搜索了一些内容,但似乎无法正常工作。
我可以编写一个选择查询来获取我想要的所有WHERE
子句但我无法将值输入到另一个表中。
非常感谢任何帮助!
答案 0 :(得分:1)
听起来你想要这样的东西:
UPDATE Shortages
SET CurrentWeek = (SELECT SUM(quantity)
FROM Orders
WHERE Orders.Material = Shortages.Material
AND <which records in Orders count toward the current Shortages record>)
WHERE <which records in Shortages you want to update>
显然,您需要使用正确的列名修改它。
答案 1 :(得分:0)
首先获取SUM()
,然后执行更新加入。像下面的东西(**这是一个演示查询,但希望你明白这一点)
update Shortages s
join (
select orderid, sum(order_qty) as total_qty
from orders
group by orderid ) xxx on s.orderid = xxx.orderid
set s.CurrentWeek = xxx.total_qty;