有一张表order_test
--------------------------------
type_name      物资名 
supplier       供应商
type_id        物资规格
order_quan       订货量
要查询写出下面形式的表,不知道有没有办法。关键是有小计,有合计
用select或存储过程都可以。
每种物资的供应商数量不定,每个供应商供应的规格也不定。
物资名  供应商    规格      订货数量
物资I   供应商A   规格1
                规格2
        规格3
                小计     
      供应商B    规格1
                规格2
        规格3
                规格4
                小计                           
       供应商C   规格1
                规格2
                小计 
        合计      ∑
                                   
物资II  ·················
        ·················
         ·················

解决方案 »

  1.   

    Try it ..
    select type_name,
           supplier,
           type_id,
           sum(order_quan) as quantity
      from order_test
     group by rollup(type_name,
           supplier,
           type_id);
      

  2.   

    http://blog.csdn.net/carefree31441
      

  3.   

    再要配合groupingselect decode(grouping(type_name),1'总计',type_name),
           decode(grouping(supplier),1,'合计',supplier),
           decode(grouping(type_id),1,'小计',type_id),
           sum(order_quan) as quantity
      from order_test
     group by rollup(type_name,
           supplier,
           type_id);