厂家  单价   数量   入库日期
aa     12.4    4      2010-01-02
bb    13.56  20    2010-01-23
cc     15.5    12    2010-02-3
dd    16.3    15    2010-03-9如何写sql语句 检索后会按年月 分组显示?
结果:厂家  单价   数量   入库日期
aa     12.4    4       2010-01-02
bb     13.56 20      2010-01-23
--------------------------
                    24                                      cc     15.5   12      2010-02-3
--------------------------
                  12

解决方案 »

  1.   

    select 厂家 ,单价 ,数量 ,convert(varchar(10),入库日期,120) 入库日期 from tb
    union all
    select '' 厂家 , null 单价, sum(数量) 数量 , convert(varchar(7),入库日期,120) + '-月' 入库日期 from tb group by convert(varchar(7),入库日期,120) + '-月'
    order by 入库日期
      

  2.   

    create table tb(厂家 varchar(10),单价 decimal(18,2) , 数量 int,入库日期 datetime)
    insert into tb values('aa', 12.4  ,4  ,'2010-01-02')
    insert into tb values('bb', 13.56 ,20 ,'2010-01-23')
    insert into tb values('cc', 15.5  ,12 ,'2010-02-3')
    insert into tb values('dd', 16.3  ,15 ,'2010-03-9')
    goselect 厂家 ,ltrim(单价) 单价 ,数量 ,convert(varchar(10),入库日期,120) 入库日期 from tb
    union all
    select '' 厂家 , '' 单价, sum(数量) 数量 , convert(varchar(7),入库日期,120) + '-月' 入库日期 from tb group by convert(varchar(7),入库日期,120) + '-月'
    order by 入库日期drop table tb/*
    厂家         单价                                       数量          入库日期       
    ---------- ---------------------------------------- ----------- ---------- 
    aa         12.40                                    4           2010-01-02
    bb         13.56                                    20          2010-01-23
                                                        24          2010-01-月
    cc         15.50                                    12          2010-02-03
                                                        12          2010-02-月
    dd         16.30                                    15          2010-03-09
                                                        15          2010-03-月(所影响的行数为 7 行)*/
      

  3.   

    select * from tb group by date union all select sum(数量),‘’,‘’,‘’ from tb