SQL问题,迷惑中...(100分)

  • 主题发起人 主题发起人 xymm76
  • 开始时间 开始时间
X

xymm76

Unregistered / Unconfirmed
GUEST, unregistred user!
现在有两个表
test1 和 test2
其中test1 有两个字段(A1 char(2),B1 int)
test2 两个字段(A2 char(2),B2 int)
test1 test2
A1 B1 A2 B2
AA 10 AA 2
BB 16 CC 7
CC 19 DD 6
DD 5
EE 1
要求得到结果 :
test1
A1 B1
AA 12
BB 16
CC 26
DD 11
EE 1

我是在query的SQL中这样写的:
update test1
set test1.B1=test1.B1+test2.B2
where test1.A1=(select test2.A2 from test2
where test1.A1=test2.A2)


,可是不行,达不到要求 。那位指点一下?
 
update test1set test1.B1=test1.B1+test2.B2
where test1.A1 in (select test2.A2 from test2
where test1.A1=test2.A2)
 
如果test2 的 a2 、 test1 的 a1 是不重复的

update test1 set test1.B1=test1.B1+(select B2 from test2 t2 where test1.a1=t2.a2)
where test1.a1 in (select a2 from test2)

如果test2 的 a2 是有重复的、 test1 的 a1 是不重复的:

update test1 set test1.B1=test1.B1+(select sum(B2) from test2 t2 where test1.a1=t2.a2)
where test1.a1 in (select distinct a2 from test2)

 
多人接受答案了。
 
后退
顶部