小計合計


-- 
create table #tb([DB-ID] varchar(10),ENTITY varchar(10),DATE varchar(10),[CUST-NO] int,AMOUNT decimal(10,2),TAX decimal(10,2))
insert #tb select 'RCHQ','001','2004-11-10',200000,100.00,17.00
union all select 'RCHQ','001','2004-11-10',200000,200.00,34.00
union all select 'RCHQ','001','2004-11-12',200000,150.00,25.50
union all select 'RCHQ','002','2004-11-10',200000,100.00,17.00
union all select 'RCHQ','002','2004-11-10',200000,200.00,34.00
union all select 'RCHQ','002','2004-11-12',200000,150.00,25.50
go

-- 
select [DB-ID],ENTITY,DATE,[CUST-NO],AMOUNT,TAX
from(
    select [DB-ID]=case 
            when grouping([DB-ID])=1 then ' '
            else [DB-ID] end
        ,ENTITY=case 
            when grouping([DB-ID])=1 then ''
            when grouping(ENTITY)=1 then ' '
            else ENTITY end
        ,DATE=case 
            when grouping([DB-ID])=1 then ''
            when grouping(ENTITY)=1 then ''
            when grouping(DATE)=1 then ' '
            else DATE end
        ,[CUST-NO]=case 
            when grouping([DB-ID])=1 then ''
            when grouping(ENTITY)=1 then ''
            when grouping(DATE)=1 then ''
            when grouping([CUST-NO])=1 then ' '
            else cast([CUST-NO] as varchar) end
        ,AMOUNT=sum(AMOUNT),TAX=sum(TAX)
        ,s1=grouping([DB-ID]),s2=[DB-ID]
        ,s3=grouping(ENTITY),s4=ENTITY
        ,s5=grouping(DATE),s6=DATE
        ,s7=grouping([CUST-NO]),s8=[CUST-NO]
    from #tb
    group by [DB-ID],ENTITY,DATE,[CUST-NO] with rollup
    having grouping([CUST-NO])=1
    union all
    select [DB-ID],ENTITY,DATE,cast([CUST-NO] as varchar),AMOUNT,TAX
        ,s1=0,s2=[DB-ID]
        ,s3=0,s4=ENTITY
        ,s5=0,s6=DATE
        ,s7=0,s8=[CUST-NO]
    from #tb 
)a order by s1,s2,s3,s4,s5,s6,s7,s8
go

-- 
drop table #tb

/*-- 
DB-ID    ENTITY    DATE        CUST-NO    AMOUNT    TAX
-------- -------- ----------------- --------- -------- ---------
RCHQ    001    2004-11-10    200000    100.00    17.00
RCHQ    001    2004-11-10    200000    200.00    34.00
RCHQ    001    2004-11-10         300.00    51.00
RCHQ    001    2004-11-12    200000    150.00    25.50
RCHQ    001    2004-11-12         150.00    25.50
RCHQ    001                 450.00    76.50
RCHQ    002    2004-11-10    200000    100.00    17.00
RCHQ    002    2004-11-10    200000    200.00    34.00
RCHQ    002    2004-11-10         300.00    51.00
RCHQ    002    2004-11-12    200000    150.00    25.50
RCHQ    002    2004-11-12         150.00    25.50
RCHQ    002                 450.00    76.50
RCHQ                     900.00    153.00
                     900.00    153.00
--*/