通过查询把分组数据统计出来,并且把每组的数据和汇总数据都显示出来,下面的语句在汇总的时候没有问题,就是显示每组数据的时候,会有很多null值,并且这些null值都是梯形的。显示数据就是比如 一共有20条数据,里面可以分为两组,统计出来显示的应该是22条数据,第一组的10条数据,和第一组的统计,第二组的十条数据,和第二组的统计。怎么把那些字段里的空值 都去掉呢?
select 
case 
            when ((GROUPING(COSTS)=1) AND (grouping(ITEM_CLASS) =  1) ) then '合计'
            when ((GROUPING(COSTS)=1) AND (grouping(ITEM_CLASS) <> 1) ) then ITEM_CLASS+'小计'
            else ITEM_CLASS
        end as ITEM_CLASS, COSTS,UNITS_CODE,INP_NO,ITEM_NO,ITEM_CODE,ITEM_NAME,GENERAL_NAME,ITEM_SPEC
,UNITS,AMOUNT,QUANTITY,UNIT_PRICE,COSTS,CHARGES,CLASS_ON_INP_RCPT,DRUG_SIGN,BILLING_DATE_TIME,INSURANCE_CODE
,INSURANCE_PAY,sum(quantity),sum(costs)
FROM V_CONN_INP_BILL_DETAIL
GROUP BY ITEM_CLASS,COSTS,UNITS_CODE,INP_NO,ITEM_NO,ITEM_CODE,ITEM_NAME,GENERAL_NAME,ITEM_SPEC
,UNITS,AMOUNT,QUANTITY,UNIT_PRICE,COSTS,CHARGES,CLASS_ON_INP_RCPT,DRUG_SIGN,BILLING_DATE_TIME,INSURANCE_CODE
,INSURANCE_PAY 
with rollup
测试类别1 60.52 00xx11yy22 20110909 10001 111333999 测试名称1 测试通用名称1
测试类别1 60.52 00xx11yy22 20110909 10001 111333999 测试名称1 测试通用名称1
测试类别1 60.52 00xx11yy22 20110909 10001 111333999 测试名称1 测试通用名称1
测试类别1 60.52 00xx11yy22 20110909 10001 111333999 测试名称1 测试通用名称1
测试类别1 60.52 00xx11yy22 20110909 10001 111333999 测试名称1 测试通用名称1
测试类别1 60.52 00xx11yy22 20110909 10001 111333999 测试名称1 测试通用名称1
测试类别1 60.52 00xx11yy22 20110909 10001 111333999 测试名称1 测试通用名称1
测试类别1 60.52 00xx11yy22 20110909 10001 111333999 测试名称1 测试通用名称1
测试类别1 60.52 00xx11yy22 20110909 10001 111333999 测试名称1 测试通用名称1
测试类别1 60.52 00xx11yy22 20110909 10001 111333999 测试名称1 测试通用名称1
测试类别1 60.52 00xx11yy22 20110909 10001 111333999 测试名称1 测试通用名称1
测试类别1 60.52 00xx11yy22 20110909 10001 111333999 测试名称1 测试通用名称1
测试类别1 60.52 00xx11yy22 20110909 10001 111333999 测试名称1 NULL
测试类别1 60.52 00xx11yy22 20110909 10001 111333999 NULL NULL
测试类别1 60.52 00xx11yy22 20110909 10001 NULL NULL NULL
测试类别1 60.52 00xx11yy22 20110909 NULL NULL NULL NULL
测试类别1 60.52 00xx11yy22 NULL NULL NULL NULL NULL
测试类别1 60.52 NULL NULL NULL NULL NULL NULL
测试类别1小计 NULL NULL NULL NULL NULL NULL NULL