Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
postgresql中不同产品的期初、期末数量查询_Sql_Postgresql - Fatal编程技术网

postgresql中不同产品的期初、期末数量查询

postgresql中不同产品的期初、期末数量查询,sql,postgresql,Sql,Postgresql,我尝试在PostgreSQL查询中为不同产品的单独打开和关闭设置打开和关闭列,其中我输入特定的日期范围,我的第一行的打开列应该是最新的开始日期,关闭应该是每个日期行的打开列+列1+列2+列3 ***这是我的示例数据库 Date1 Product column1 column2 column3 01/01/2017 A 25 15 20 02/01/2017 C 10 20 2

我尝试在PostgreSQL查询中为不同产品的单独打开和关闭设置打开和关闭列,其中我输入特定的日期范围,我的第一行的打开列应该是最新的开始日期,关闭应该是每个日期行的打开列+列1+列2+列3

***这是我的示例数据库

Date1        Product    column1  column2   column3
01/01/2017   A          25       15        20
02/01/2017   C          10       20        20
03/01/2017   B          10       10        20
04/01/2017   C          10       10        20
05/01/2017   A          10       20        10
05/01/2017   C          5        10        20
06/01/2017   B          10       10        20
06/01/2017   A          10       10        20
06/01/2017   C          10       10        20
我在PostgreSQL*日期范围内的预期查询为2017年1月4日至2017年1月6日:

Date1         Product      opening  column1  column2  column3 closing
04/01/2017    C            50       10       10       20      90
05/01/2017    A            60       10       20       10      100
              C            90       5        10       20      125
06/01/2017    A            100      10       10       20      140
              B            40       10       10       20      80
              C            125      10       10       20      165

我有一个建议,但这是在SQL server中,我不熟悉Postresql。 您可以通过任何循环或游标将其中的日期范围作为@trans_date传递给任何适合于u的循环或游标来运行以下查询-

选择日期1、产品、SUMopening.opn_数量作为期初、SUMcolumn1作为列1、SUMcolumn2作为列2、SUMcolumn3作为列3、SUMclosing.cls_数量作为期末 来自样本表1 左外连接 选择Sumcolumn1+SUMcolumn2+SUMcolumn3作为opn_数量, 产品 来自样本表1 其中日期1<@trans_date 按产品分组, 日期1 打开时打开。产品=样本_表1.产品 左外连接 选择Sumcolumn1+SUMcolumn2+SUMcolumn3作为cls_数量, 产品 来自样本表1
到目前为止,你在哪里尝试过什么?您需要发布您的代码以便我们提供帮助-我们不会为您编写代码。请参阅我之前在postgresql中的问题标题“开始和结束数量查询”,我使用S-Man回答的代码。您需要完成此问题,这意味着您需要显示您编写的代码。选择日期1,产品,结账-日值为期初,第1列、第2列、第3列,从选择*开始结账,第1列+第2列+第3列为日值,从测试数据s选择*从-s开始结账,其中日期1介于“2017-01-03”和“2017-01-06”之间