日期:2014-05-18  浏览次数:20379 次

请教复杂sql语句
a                                 dj           sl           je

101-1                        
101-1-1                     1             1             0
101-1-2                     2             1             0
101-1-1                     1             1             0

102-1                        
102-1-1                     3             1             0      
102-1-2                     4             1             0
102-1-3                     5             1             0
.......

要结果如下
a                                         sl           je

101-1                        
101-1-1                             2             2
101-1-2                             1             2

102-1                        
102-1-1                             1             3      
102-1-2                             1             4
102-1-3                             1             5
.......

要求也就是:(1)把   101-1和102-1   的子的汇总
(2)把重复的   sl   加和   je   加和
这样子能写吗?非常感谢

------解决方案--------------------

if object_id( 'pubs..tb ') is not null
drop table tb
go

create table tb
(
a varchar(20),
dj int,
sl int,
je int
)

insert into tb(a,dj,sl,je) values( '101-1 ', null,null,null)
insert into tb(a,dj,sl,je) values( '101-1-1 ',1, 1, 0)
insert into tb(a,dj,sl,je) values( '101-1-2 ',2, 1, 0)
insert into tb(a,dj,sl,je) values( '101-1-1 ',1, 1, 0)
insert into tb(a,dj,sl,je) values( '102-1 ', null,null,null)
insert into tb(a,dj,sl,je) values( '102-1-1 ',3, 1, 0)
insert into tb(a,dj,sl,je) values( '102-1-2 ',4,