Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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
MS Sql中的小计_Sql_Sql Server - Fatal编程技术网

MS Sql中的小计

MS Sql中的小计,sql,sql-server,Sql,Sql Server,如何在SQL查询中提高小计 目前,我得到了如下所示的期望输出: G.R.N G.R.N Date CUSTOMER ItemName Total Cases Total Pallets 1 8/1/2019 Cus A Item A 66 2 1 8/1/2019 Cus A Item B 462 13 1 8/1/2019 Cus A Item C 430 12

如何在SQL查询中提高小计

目前,我得到了如下所示的期望输出:

G.R.N G.R.N Date     CUSTOMER  ItemName Total Cases Total Pallets
1   8/1/2019    Cus A   Item A        66        2
1   8/1/2019    Cus A   Item B       462        13
1   8/1/2019    Cus A   Item C       430        12
10  8/3/2019    Cus B   Item D      553             16
10  8/3/2019    Cus B   Item B       52              2
10  8/3/2019    Cus B   Item E      359              10
G.R.N G.R.N Date  CUSTOMER     ItemName Total Cases Total Pallets
1      8/1/2019    Cus A    Item A       66               2
1      8/1/2019    Cus A    Item B       462          13
1      8/1/2019    Cus A    Item C       430          12
            TOTAL                    958          27
10  8/3/2019   Cus B    Item D       553          16
10  8/3/2019   Cus B    Item B       52                2
10  8/3/2019   Cus B    Item E       359           10
            TOTAL                    964           28
但我需要这样的输出:

G.R.N G.R.N Date     CUSTOMER  ItemName Total Cases Total Pallets
1   8/1/2019    Cus A   Item A        66        2
1   8/1/2019    Cus A   Item B       462        13
1   8/1/2019    Cus A   Item C       430        12
10  8/3/2019    Cus B   Item D      553             16
10  8/3/2019    Cus B   Item B       52              2
10  8/3/2019    Cus B   Item E      359              10
G.R.N G.R.N Date  CUSTOMER     ItemName Total Cases Total Pallets
1      8/1/2019    Cus A    Item A       66               2
1      8/1/2019    Cus A    Item B       462          13
1      8/1/2019    Cus A    Item C       430          12
            TOTAL                    958          27
10  8/3/2019   Cus B    Item D       553          16
10  8/3/2019   Cus B    Item B       52                2
10  8/3/2019   Cus B    Item E       359           10
            TOTAL                    964           28
我甚至试过卷发,但运气不好


select 
T0.BaseNum AS 'G.R.N',
T2.DocDate AS 'G.R.N Date',
T1.WhsName AS 'CUSTOMER_NAME',

T0.ItemName,

sum(t0.quantity) as 'Total Cases',

count (distinct t0.batchnum) as 'Total Pallets'

 from OIBT T0 LEFT JOIN OWHS T1 ON T0.WhsCode = T1.WhsCode
           LEFT JOIN OPDN T2 ON T0.BaseNum = T2.DocNum AND T0.BaseEntry = T2.DocEntry

 where t1.WhsName = 'Cus A' AND t2.DocDate <= '20190827' 

 group by t0.BaseNum,t0.ItemName,T1.WhsName,t2.DocDate

可以使用分组集获取所需的行:

group by grouping sets ( (t0.BaseNum, t0.ItemName, T1.WhsName, t2.DocDate),
                         (t0.BaseNum, t2.DocDate)
                       )
您可以通过以下方式添加订单:


但我在查询结束时得到的总数如下:G.R.N G.R.N日期客户ItemName总数箱子总数托盘1 8/1 2019 Cus A项目A 66 2 1 8/1 2019 Cus A项目B 462 13 1 8/1/2019 Cus A项目C 430 12 10 8/3/2019 Cus B项目D 553 16 10 8/3/2019 Cus B项目B 52 2 10 8/3 2019 Cus B项目E 359 10 1 8/1 2019总计958 2710 2019年8月3日总计964 28我在最后得到总计。。。但我需要总数,就像我在示例中显示的那样