У меня есть предложение, но оно на сервере SQL, я не знаком с Postresql.Вы можете выполнить следующий запрос, передав диапазон дат в нем как @trans_date любым циклом или курсором, в зависимости от того, что подходит для u-
ВЫБОР ДАТЫ1, ПРОДУКТА, СУММЫ (открытие.опр_qty) AS открытия, СУММА (столбец 1) КАКcolumn1, SUM (column2) AS column2, SUM (column3) AS column3, SUM (close.cls_qty) AS закрывается FROM sample_table1 ВЛЕВО НА ВЫХОДЕ (SELECT (SUM (column1) + SUM (column2) + SUM (column3)) AS opn_qty,Product FROM sample_table1 WHERE Date1 <@trans_date GROUP BY Product, Date1) открытие ON открытие.Product = sample_table1.Product СЛЕДУЮЩЕЕ ВСТУПЛЕНИЕ (ВЫБРАТЬ (SUM (столбец1) + SUM (столбец2) + SUM (столбец3)) AS cls_qty, продукт FROM sample_table1WHERE Date1 <= @trans_date GROUP BY Product, Date1) закрытие ON Открытие.Product = sample_table1.catalog_item_id WHERE sample_table1.Date1 = @trans_date GROUP BY sample_table1.Product, Date1 ORDER BY Date1 DESC; </p>
Подобную логику вы можете использоватьприменять в PostgreSQL.