如何根据其他列递减列值

时间:2019-02-06 02:04:48

标签: mysql sql

我正在尝试建立一个查询,该查询将“计算”一个新列,该列的值将基于另一列中的值。

该表具有6个主要列:房屋,产品ID,数量O,数量A,日期和订单号。 House和ProductID的组合是指一种产品类型(即仓库中的产品)。 QuantityO是指所售出的ProductID的数量,QuantityA是指可用的总数量。

对于每个“房屋+产品ID”,QuantityA的值将“重复”。我需要遍历每个“房屋+产品ID”(按日期和ASC中的OrderNumber排序),并创建一个新列,其值应为:

  1. 第一条记录的值为QuantityA
  2. 第二条记录的值为QuantityA(来自步骤1),减去值QuantityO的值为步骤1
  3. 第三条记录的值将为QuantityA(来自第2步),减去第{2}中的QuantityO的值,依此类推

我一直在进行“密集等级”计算-但不要认为这是正确的方法。

我创建了一个SQL提琴here

基于SQL Fiddle,我期望最终结果将是表中已存在的所有内容,另外一列将具有以下值(根据映射,“减少” QuantityAQuantityO列):

22
22
36000
33600
31660

0 个答案:

没有答案