22,207
社区成员
发帖
与我相关
我的任务
分享
create table tb
(
id int,
grp nvarchar(2),
a int
)
insert into tb values(1,'A',100)
insert into tb values(2,'A',100)
insert into tb values(3,'A',null)
insert into tb values(4,'B',20)
insert into tb values(5,'B',null)
insert into tb values(6,'C',50)
insert into tb values(7,'C',null)
insert into tb values(8,'C',null)
insert into tb values(9,'C',50)
insert into tb values(10,'D',null)
insert into tb values(11,'D',60)
insert into tb values(12,'D',null)
insert into tb values(13,'E',300)
insert into tb values(14,'E',300)
insert into tb values(15,'E',300)
update t1 set t1.a = t2.a
from tb t1,tb t2
where t1.grp = t2.grp
and isnull(t2.a,0) <> 0
select * from tb
/*
id,grp,a
1,A,100
2,A,100
3,A,100
4,B,20
5,B,20
6,C,50
7,C,50
8,C,50
9,C,50
10,D,60
11,D,60
12,D,60
13,E,300
14,E,300
15,E,300
(15 行受影响)
*/
update t1 set t1.a = t2.a
from tb t1,tb t2
where t1.grp = t2.grp
and isnull(t2.a,'')<> ''