跨时间和有序地添加和减去值

时间:2018-11-08 14:57:03

标签: postgresql

PostgresQL的新手,无法弄清楚如何处理以下情况:

背景: 假设您有一个始于2014年1月1日的生产工厂数据,该数据可生产某种石油。您知道每天都会产生X量的石油。您还知道生产从2014-01-01之前开始,但这就是您的数据。我们的表格不包含每日的生产日志,而仅包含工厂信息,每天的产量及其总容量。

存储工厂信息的表包含以下列/数据类型:

plant_name text, #there will be multiple plants involved in this
storage_capacity integer,
daily_production integer;

您知道每天都会有一些东西要从工厂中取油,而且它们每个人都有从油轮中取走的独特大小和数量。您知道这些大小和金额是什么。

到来的桌子看起来像这样:

vessel_id integer,
plant_arrive text,
date_arrive timestamp;

并将与vessel_id上的另一个表连接以获得该行:

vessel_capacity int;

我正在尝试为这些交易的发生方式建立正确的历史记录,目的是要准确地找出目前每个工厂目前有多少石油。为了做到这一点,我想我需要的是在每天经过时添加每个X(直到达到容量编号),然后添加一个新的表来枚举日期(或类似的日期),然后从中减去每当有东西从中拿走时,X。我不需要这样做是因为总天数-到达的石油总容量之差,但是作为逐日检查到达的天数,以确保没有到达时留下了负数的石油植物。

我的预期输出将包含以下内容:

Arrival Date    Arrival Capacity    Plant Oil Amount At Date   Remaining
2014-01-05          Y                         X                X-Y
2014-01-10          Y                         X                X-Y

如果还不包括什么都没到达的日期,则仅记录产生的石油量。

我将如何做这样的事情?

0 个答案:

没有答案