部门表 depart
KeyId varchar(50)
DepartName varchar(200)
ParentId varchar(50) 数据:
AA001 总经办 root
AB001 事业部 root
AA002 行政部 AA001
AB002 客服部 AB001
AB003 研发部 AB001
AB004 支持部 AB002 人数表 departTotal
KeyId int
DepartID varchar(50)
Count int 数据:
1 AA001 10
2 AB001 10
3 AA002 10
4 AB002 10
5 AB003 10
6 AB004 10 求统计各部门的人数,结果如下:
AA001 总经办 20
AA002 行政部 10
AB001 事业部 40
AB002 客服部 20
AB003 研发部 10
AB004 支持部 10 多级部门统计
KeyId varchar(50)
DepartName varchar(200)
ParentId varchar(50) 数据:
AA001 总经办 root
AB001 事业部 root
AA002 行政部 AA001
AB002 客服部 AB001
AB003 研发部 AB001
AB004 支持部 AB002 人数表 departTotal
KeyId int
DepartID varchar(50)
Count int 数据:
1 AA001 10
2 AB001 10
3 AA002 10
4 AB002 10
5 AB003 10
6 AB004 10 求统计各部门的人数,结果如下:
AA001 总经办 20
AA002 行政部 10
AB001 事业部 40
AB002 客服部 20
AB003 研发部 10
AB004 支持部 10 多级部门统计
解决方案 »
- 请问关于表的信息存储在哪个系统表中?
- 问下如何保存所有的作业和存储过程。
- 索引对数据的插入,修改是否有影响
- 分站和总站是怎么实现数据共享的呢?
- 求一句SQL语句
- vs2005 中 datagridview向导方式绑定数据源 会同化数据源吗?(是sql server 2000 的数据库) 具体是...
- 求救,改变sql server 2000的认证方式.
- 新编软件加入read events后不能运行。
- 我的SQL Server 7.0在WIN98下注册服务器的时候出现非法操作是什么原因。
- SQL2000 求父类与子类获取函数
- 数据库压缩 不要返回结果
- sql server 2008 如何无错误解析日志函数fn_dblog
declare @depart table(KeyId varchar(50),DepartName varchar(200) ,ParentId varchar(50) )
declare @departTotal table(KeyId int,DepartID varchar(50),Count int)insert into @depart
select 'AA001', '总经办', 'root'
union all select 'AB001', '事业部', 'root'
union all select 'AA002', '行政部', 'AA001'
union all select 'AB002', '客服部', 'AB001'
union all select 'AB003', '研发部', 'AB001'
union all select 'AB004', '支持部', 'AB002'insert @departTotal
select 1, 'AA001', 10
union all select 2, 'AB001', 10
union all select 3, 'AA002', 10
union all select 4, 'AB002', 10
union all select 5, 'AB003', 10
union all select 6, 'AB004', 10
--以下执行
;
with result as
(
select *,KeyId x from @depart
union all
select a.*,b.x from @depart as a join result as b on a.KeyId=b.ParentId
)
select a.KeyId,a.DepartName,SUM(b.Count) from result as a join @departTotal as b on a.x=b.DepartID
group by a.KeyId,a.DepartName
/*
AA001 总经办 20
AA002 行政部 10
AB001 事业部 40
AB002 客服部 20
AB003 研发部 10
AB004 支持部 10
*/