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
如果还不包括什么都没到达的日期,则仅记录产生的石油量。
我将如何做这样的事情?