Сложение и вычитание значений - через время и в порядке - PullRequest
0 голосов
/ 08 ноября 2018

Новичок в 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

Если не учитывать даты, когда ничего не прибыло, просто записать количество добытой нефти.

Как бы я поступил так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...