根据父ID聚合
来源:互联网 发布:淘宝联盟的淘口令 编辑:程序博客网 时间:2024/05/20 02:56
create table myTest_tt(id int identity(1,1),EID varchar(20),BID varchar(20),[name] varchar(30),[value] int)goinsert into myTest_tt select '10000001','101','一般性公共服务',0union select '10000001','101031','一般性公共服务1',100union select '10000001','10103101','一般性公共服务1-1',100union select '10000001','10103102','一般性公共服务1-2',100union select '10000001','101032','一般性公共服务2',200union select '10000001','10103201','一般性公共服务2-1',300union select '10000001','10103202','一般性公共服务2-2',100union select '10000001','101033','一般性公共服务3',300union select '10000001','10103301','一般性公共服务3-1',300union select '10000001','10103302','一般性公共服务3-2',300insert into myTest_tt select '10000002','201','一般性公共服务',0union select '10000002','201031','一般性公共服务1',100union select '10000002','20103101','一般性公共服务1-1',100union select '10000002','20103102','一般性公共服务1-2',100union select '10000002','201032','一般性公共服务2',200union select '10000002','20103201','一般性公共服务2-1',300union select '10000002','20103202','一般性公共服务2-2',100union select '10000002','201033','一般性公共服务3',300union select '10000002','20103301','一般性公共服务3-1',300union select '10000002','20103302','一般性公共服务3-2',300go
id EID BID name value
----------- -------------------- -------------------- ------------------------------ -----------
1 10000001 101 一般性公共服务 0
2 10000001 101031 一般性公共服务1 100
3 10000001 10103101 一般性公共服务1-1 100
4 10000001 10103102 一般性公共服务1-2 100
5 10000001 101032 一般性公共服务2 200
6 10000001 10103201 一般性公共服务2-1 300
7 10000001 10103202 一般性公共服务2-2 100
8 10000001 101033 一般性公共服务3 300
9 10000001 10103301 一般性公共服务3-1 300
10 10000001 10103302 一般性公共服务3-2 300
11 10000002 201 一般性公共服务 0
12 10000002 201031 一般性公共服务1 100
13 10000002 20103101 一般性公共服务1-1 100
14 10000002 20103102 一般性公共服务1-2 100
15 10000002 201032 一般性公共服务2 200
16 10000002 20103201 一般性公共服务2-1 300
17 10000002 20103202 一般性公共服务2-2 100
18 10000002 201033 一般性公共服务3 300
19 10000002 20103301 一般性公共服务3-1 300
20 10000002 20103302 一般性公共服务3-2 300
需要按照父级包含的进行合并
例如 BID=101=所有前3位为101的value的sum
201031 = 201031 + 20103101+ 20103102=300
select a.EID AEID,A.bid ABID,max(A.name), sum(b.VALUE) BVALUE from myTest_tt a,myTest_tt bwhere b.bid like a.bid+'%' and a.EID=b.eidgroup by A.BID,A.EID select a.EID AEID,A.bid ABID,max(A.name), sum(b.VALUE) BVALUE from myTest_tt ainner join myTest_tt bon b.bid like a.bid+'%' and a.EID=b.eidgroup by A.BID,A.EID
结果表示如下:
AEID ABID BVALUE
-------------------- -------------------- ------------------------------ -----------
10000001 101 一般性公共服务 1800
10000001 101031 一般性公共服务1 300
10000001 10103101 一般性公共服务1-1 100
10000001 10103102 一般性公共服务1-2 100
10000001 101032 一般性公共服务2 600
10000001 10103201 一般性公共服务2-1 300
10000001 10103202 一般性公共服务2-2 100
10000001 101033 一般性公共服务3 900
10000001 10103301 一般性公共服务3-1 300
10000001 10103302 一般性公共服务3-2 300
10000002 201 一般性公共服务 1800
10000002 201031 一般性公共服务1 300
10000002 20103101 一般性公共服务1-1 100
10000002 20103102 一般性公共服务1-2 100
10000002 201032 一般性公共服务2 600
10000002 20103201 一般性公共服务2-1 300
10000002 20103202 一般性公共服务2-2 100
10000002 201033 一般性公共服务3 900
10000002 20103301 一般性公共服务3-1 300
10000002 20103302 一般性公共服务3-2 300
- 根据父ID聚合
- 根据相同ID,对字符串列进行聚合【mysql,mssql】
- 根据根据子id查询所有的父id,根据父id 递归查询所有下级,
- 单个id聚合
- 根据ID、父ID来排序的JS树
- Sql根据子类ID查找父类ID
- mysql 根据子类id查询所有父类id
- 根据父节点ID,生成treeView
- 根据分类ID获得所有子ID和所有父ID
- hibernate根据id查找
- 根据ID填充文本框
- 根据ID查询
- 根据id获取bostype
- 根据ID创建目录
- 根据id分表
- sql根据父id查询子项数据
- mysql 根据id查询所有子节点/父节点
- java递归根据节点ID得到所有父节点名称
- Oracle Parallel Execution(并行执行)
- castle架构了解
- Application has stopped unexpectedly. Please try again." android解
- 《Effective C++》经典语句、要点摘录
- android.intent.action.MAIN与android.intent.category 的区别
- 根据父ID聚合
- win7 NTLDR is missing
- 阻止默认事件
- VB.NET 2010 如何自定义窗
- Oracle 索引扫描的五种类型
- 十一学习
- 视频全屏播放(未写)
- What's stdcall, cdecl, etc....
- DSP程序优化---ccs优化选项详解