我需要关于如何创建报告的建议,该报告将显示第一列中的产品列表,随后的列将是时间段。MYSQL:需要帮助创建一份库存消耗报告
库存表具有以下字段:
STOCK_ID StockQty InStock_Date UsageRate
什么我希望做的是看每个股票项目,并通过使用其使用率插槽值进入未来的时间段。
例如,如果ProductA当前有库存,库存数量为100,每周使用率为10,那么我将需要用数量为10的下10周填充报表。 产品B可能有库存数量为30,每周使用率为4 /周,所以我需要在接下来的7周内填充表格的下一行,值为4,第8周与股票的其余部分,2.等等剩下的产品。
进一步的要求是处理将来例如5周后进入的产品。我想执行上述操作,但首周将是第5周。
我想要做的另一件事是对上述数据进行计算,例如将每周数量乘以产品的售价以获得预计收入按周计算。
我使用MYSQL 5,并尝试以下解决方案:
CREATE PROCEDURE sp_DBR_Inventory_Test()
BEGIN
DECLARE i INT Default 0;
declare Max_Period_Id int(3) default 0;
select max(ceiling(Stock_QTY/Stock_Usage))
from hilmark.stock
into Max_Period_Id;
simple_loop:
LOOP SET i=i+1;
select Stock_Id,
Stock_Usage
from hilmark.stock;
IF i=Max_Period_Id THEN LEAVE simple_loop; END IF;
END LOOP simple_loop;
END
任何帮助将非常感激。
干杯
杰克
能否请你发表你试过到目前为止 – 2014-09-10 09:50:17
我一直在尝试下面的代码是什么样:CREATE PROCEDURE'sp_DBR_Inventory_Test'() BEGIN DECLARE我INT默认值0; 声明Max_Period_Id int(3)默认为0; 从hilmark选择max(ceiling(Stock_QTY/Stock_Usage))。存入Max_Period_Id; simple_loop:LOOP SET i = i + 1; select Stock_Id, Stock_Usage from hilmark.stock; IF i = Max_Period_Id THEN LEAVE simple_loop; END IF; END LOOP simple_loop; END $$ I – ajdjackson 2014-09-10 19:42:13