zoukankan      html  css  js  c++  java
  • SQL 数据增加 小计 及 合计行

    CREATE TABLE [dbo].[A](
        
    [SalesOrg] [nvarchar](4) COLLATE SQL_Latin1_General_CP850_BIN2 NOT NULL,
        
    [SalesGroup] [nvarchar](20) COLLATE SQL_Latin1_General_CP850_BIN2 NOT NULL,
        
    [DocumentType] [nvarchar](25) COLLATE SQL_Latin1_General_CP850_BIN2 NULL,
        
    [DocumentName] [nvarchar](20) COLLATE SQL_Latin1_General_CP850_BIN2 NULL,
        
    [CSName] [nvarchar](50) COLLATE SQL_Latin1_General_CP850_BIN2 NOT NULL,
        
    [Qty] [int] NULL,
        
    [Amount] [numeric](382NULL
    ON [PRIMARY]


    select case grouping(DocumentType)
               
    when 1 then 'Total'
               
    when 0 then
                    
    case grouping(SalesOrg)
                       
    when 1 then DocumentType + ' SubTotal'
                       
    when 0 then DocumentType
                    
    end
             
    end DocumentType,
             SalesOrg,SalesGroup,DocumentName,CSName,
    sum(Qty) qty,sum(Amount) Amt
       
    from [A]
    group by DocumentType, SalesOrg,SalesGroup,DocumentName,CSName with rollup
    having grouping(SalesOrg) + grouping(SalesGroup) + grouping(DocumentType)
    +grouping(DocumentName)+grouping(CSName) = 0
    or grouping (SalesOrg) + grouping(SalesGroup)+grouping(DocumentName)+grouping(CSName) = 4

    数据如下:
    AA                    S1          G1         A            Helen      3               100
    AA                    S2          G1         A            Lui           2               200
    AA SubTotal   NULL    NULL    NULL    NULL      5               300

    BB                    S1          G1         A            Helen      3               100
    BB                    S2          G1         A            Lui           2               100
    BB SubTotal   NULL    NULL    NULL    NULL      5               200
    Total                NULL    NULL    NULL    NULL      10             500

  • 相关阅读:
    关于update set from
    C#元组 Pair Triplet Tuple
    JCarouselLite滚动bug的修护
    Asp.net请求处理之 管道处理
    用socket来代替HttpWebRequest和HttpWebResponse
    web优化之Asp.net MVC js、css动态合并 动态压缩
    CScript 错误: 无法找到脚本“...js”的脚本引擎“JScript”
    Web优化 页面性能优化 自定义函数延迟触发 jquery插件
    纠正网上流传的SQL取某一时间的当月第一天和最后一天的时间写法
    C# Expression 表达式树 缓存
  • 原文地址:https://www.cnblogs.com/luluping/p/1530594.html
Copyright © 2011-2022 走看看