Новичок в PostgresQL и не смог понять, как подойти к следующей ситуации:
Справочная информация:
Допустим, у вас есть данные о заводе, которые начинаются с 2014-01-01, которые производят какое-то масло. Вы знаете, каждый день он будет производить 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
Если не учитывать даты, когда ничего не прибыло, просто записать количество добытой нефти.
Как бы я поступил так?