比如有这样的表段
id name pay
1 huang 2000
2 liu 5000
...........
我想输出的结果是
查询出来的样子是:
1 huang 2000
2 liu 5000
无 无 7000
第二种情况是
1 huang 2000
2 liu 5000
3 huang 3000
...........(两个huang)
我想输出的结果是:
1 huang 5000
2 liu 5000
无 无 10000
谢谢了
------解决方案--------------------
/*
比如有这样的表段
id name pay
1 huang 2000
2 liu 5000
...........
我想输出的结果是
查询出来的样子是:
1 huang 2000
2 liu 5000
无 无 7000
第二种情况是
1 huang 2000
2 liu 5000
3 huang 3000
(两个huang)
我想输出的结果是:
1 huang 5000
2 liu 5000
无 无 10000
*/
--情况一:
go
if OBJECT_ID('tbl') is not null
drop table tbl
go
create table tbl(
id varchar(5),
name varchar(10),
pay int
)
go
insert tbl
select '1','huang',2000 union all
select '2','liu',5000
select * from tbl
union all
select '合','计',SUM(pay) from tbl
/*
结果:
id name pay
1 huang 2000
2 liu 5000
合 计 7000
*/
--情况二
go
if OBJECT_ID('tbl') is not null
drop table tbl
go
create table tbl(
id varchar(5),
name varchar(10),
pay int
)
go
insert tbl
select '1','huang',2000 union all
select '2','liu',5000 union all
select '1','huang',3000
select id,name,SUM(pay) from tbl
group by name,id
union all
select '合','计',SUM(pay) from tbl
/*
结果:(我把相同name的id改成一样了)
id name (无列名)
1 huang 5000
2 liu 5000
合 计 10000
*/