假如,我有一个数据库表:
数据如下:
部门   人员   基本工资   奖金   实发工资
甲     张三   100       100     200
甲     李四   100       100     200
丙     王五   100       100     200
查询出来的表格如下:
部门   人员   基本工资   奖金   实发工资
甲     张三   100       100     200
甲     李四   100       100     200
合计          200       200     400
丙     王五   100       100     200
合计          100       100     200这样SQL语句要怎么样写,有没有大侠帮我一下。

解决方案 »

  1.   


    select * from 表名 where 部门='甲'
    union ALL 
    '',sum(select 基本工资 from 表名 where 部门='甲'),sum(select 奖金 from 表名 where 部门='甲'),sum(select 实发工资 from 表名 where 部门='甲')
    union all
    select * from 表名 where 部门='丙'
    union ALL 
    '',sum(select 基本工资 from 表名 where 部门='丙'),sum(select 奖金 from 表名 where 部门='丙'),sum(select 实发工资 from 表名 where 部门='丙')
      

  2.   

    select 部门,人员,基本工资,奖金,实发工资
    from bm
    order by 部门 desc
    compute sum(基本工资),sum(奖金),sum(实发工资) by 部门
      

  3.   

    create table #a (部门 varchar(4),人员 varchar(8), 基本工资 int, 奖金 int,实发工资 int) insert into #a
    select '甲','张三',100,100,200
    union
    select '甲','李四',100,100,200 
    union
    select '丙','王五',100,100,200 select * from #a where 部门='甲'
    union all
    select '合计:','',sum(基本工资),sum(奖金),sum(实发工资)
    from #a 
    where 部门='甲'
    union all
    select * from #a where  部门='丙'
    union all
    select '合计:','',sum(基本工资),sum(奖金),sum(实发工资)
    from #a 
    where 部门='丙'drop table #a