各位老师:
我有一张表如下:
单位 姓名 奖金
一班 张一 100
二班 李二 100
三班 王五 200
一班 300
四班 张三 150
二班 李四 120
四班 800
统计出如下结果:(如果上表中姓名为为空时,下表个人或集体栏填上集体,如果有姓名则按姓名填入,排序为:先集体再到个)
单位 个人或集体 奖金
一班 集体 300
一班 张一 100
二班 李二 100
二班 李四 120
三班 王五 200
四班 集体 800
四班 张三 150
谢谢各位
create table #(
单位 varchar(20),
姓名 varchar(20),
奖金 int
)
insert # select '一班','张一',100
union all select '二班','李二',100
union all select '三班','王五',200
union all select '一班',null,300
union all select '四班','张三',150
union all select '二班','李四',120
union all select '四班',null,800
select 单位,姓名=isnull(姓名,'集体'),sum(奖金)
from #
group by 单位,姓名
order by 单位
drop table #
二班 李二 100
二班 李四 120
三班 王五 200
四班 集体 800
四班 张三 150
一班 集体 300
一班 张一 100