求一条SQL语句:主表左联子表,只取对应子表第一条记录某值并在主表更新
求一条SQL语句:主表左联子表,只取对应子表第一条记录某值并在主表更新例如:主表:TABLE1(number,a1,b1,c1)子表:TABLE2(number,fath...
求一条SQL语句:主表左联子表,只取对应子表第一条记录某值并在主表更新
例如:
主表:TABLE1(number,a1,b1,c1)
子表:TABLE2(number,father,a2,b2,c2)
主表与子表的关联:TABLE2.father=TABLE1.number
TABLE1中的数据为
number a1 b1 c1
1 11 11
2 12 12
TABLE2中的数据为:
number father a2 b2 c2
1 1 21 21 21
2 1 22 22 22
3 1 23 23 23
4 2 24 24 24
5 2 25 25 25
6 2 26 26 26
查询结果为:
a1 b1 a2 b2 c1
11 11 21 21 21
12 12 24 24 24
(子表可以按照number排序取第一条),现需要更新主表,使C1值等于其关联子表第一条记录的C2值,没有则不更新。
还忘赐教。
数据库为DB2。 展开
例如:
主表:TABLE1(number,a1,b1,c1)
子表:TABLE2(number,father,a2,b2,c2)
主表与子表的关联:TABLE2.father=TABLE1.number
TABLE1中的数据为
number a1 b1 c1
1 11 11
2 12 12
TABLE2中的数据为:
number father a2 b2 c2
1 1 21 21 21
2 1 22 22 22
3 1 23 23 23
4 2 24 24 24
5 2 25 25 25
6 2 26 26 26
查询结果为:
a1 b1 a2 b2 c1
11 11 21 21 21
12 12 24 24 24
(子表可以按照number排序取第一条),现需要更新主表,使C1值等于其关联子表第一条记录的C2值,没有则不更新。
还忘赐教。
数据库为DB2。 展开
2个回答
展开全部
为什么要一条sql更新完?
用游标做个循环,就搞定了.
就算能一条SQL搞定,这个执行效率简直不敢恭维!!
用游标做个循环,就搞定了.
就算能一条SQL搞定,这个执行效率简直不敢恭维!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
update TABLE1 set c1 = B.c2
from TABLE1 A,TABLE2.B where B.father=A.number
from TABLE1 A,TABLE2.B where B.father=A.number
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |