select 姓名,性别,部门,工资=sum(工资)
from project
group by 姓名,性别,部门
union all
select 姓名,'','',工资=sum(工资)
from project
group by 姓名
from project
group by 姓名,性别,部门
union all
select 姓名,'','',工资=sum(工资)
from project
group by 姓名
解决方案 »
- [SQL Server]如果指定了SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中???
- 求一个能生成空记录的SQL语句
- 关于 not exists 的详细用法,始终没有弄明白
- 求一比较函数 或者给个思路也可以 (详进)
- 问一个关于触发器中临时表inserted和deleted的问题!在线等待!
- 求高手解决 error: 26 - 定位指定的服务器/实例时出错
- SQL SERVER 日志问题请教
- 从SQLSERVER7.0升级到 SQL2000 的问题
- sqlserver存储过程问题[急]!
- sos!!!在vfp中怎么设置路径不受机子限制可以在任何地方运行.scx,怎么运行.exe文件即打包问题,怎么和其它程序链接?!急救!!!
- 求SQL语句
- 如何找出在T1中但不在T2中的记录?
create table project(姓名 varchar(10),性别 varchar(10),部门 varchar(10),月份 int,工资 int)
insert project select '黎明','男','技术部',1,500
union all select '黎明','男','综合部',1,1000
union all select '黎明','男','综合部',2,2000
go--查询
select 姓名,性别,部门,工资=sum(工资)
from project
group by 姓名,性别,部门
union all
select 姓名,'','',工资=sum(工资)
from project
group by 姓名
go--删除测试
drop table project/*--测试结果
姓名 性别 部门 工资
---------- ---------- ---------- -----------
黎明 男 技术部 500
黎明 男 综合部 3000
黎明 3500(所影响的行数为 3 行)
--*/
from(
select 姓名,性别,部门,工资=sum(工资),s1=姓名,s2=0
from project
group by 姓名,性别,部门
union all
select 姓名,'','',工资=sum(工资),s1=姓名,s2=1
from project
group by 姓名
)a order by s1,s2
create table project(姓名 varchar(10),性别 varchar(10),部门 varchar(10),月份 int,工资 int)
insert project select '黎明','男','技术部',1,500
union all select '黎明','男','综合部',1,1000
union all select '黎明','男','综合部',2,2000
union all select '张明','男','技术部',1,800
union all select '张明','男','综合部',2,2000
go--查询
select 姓名,性别,部门,工资
from(
select 姓名,性别,部门,工资=sum(工资),s1=姓名,s2=0
from project
group by 姓名,性别,部门
union all
select 姓名,'','',工资=sum(工资),s1=姓名,s2=1
from project
group by 姓名
)a order by s1,s2
go--删除测试
drop table project/*--测试结果姓名 性别 部门 工资
---------- ---------- ---------- -----------
黎明 男 技术部 500
黎明 男 综合部 3000
黎明 3500
张明 男 技术部 800
张明 男 综合部 2000
张明 2800(所影响的行数为 6 行)
--*/