免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1120 | 回复: 2
打印 上一主题 下一主题

求教:关于表的UPDATE问题,n个月都百思不得其解 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-07-24 09:43 |只看该作者 |倒序浏览
表A 有 A1 A2 A3
表B 有 B1 B2
表C 有 C1 C2

现想修改A3 的值, A3=A2*C2
关联关系是 A1=B1 B2=C1

请大家多多指教!

论坛徽章:
0
2 [报告]
发表于 2004-07-24 13:18 |只看该作者

求教:关于表的UPDATE问题,n个月都百思不得其解

分步做吧,一个update太难了,偶也不会。

  1. 先 select  表A.a1  d1,表A.a2  d2,表C.c2  d3 from 表A.,表B,表Cwhere 表A.a1=表B.b1 and 表B.b2=表C.c1; ------->; 结果放到临时表D

  2. 然后update 表D set d3=d2*d1;

  3. 最后,update 表A set a3=(select 表D.d3 from 表A,表D where 表A.a1=表D. d1) ;
复制代码


思路是这样,用存储过程吧,不难。如果想一句话搞定,会晕死的。看看老大们怎么说吧。

论坛徽章:
0
3 [报告]
发表于 2004-07-24 14:26 |只看该作者

求教:关于表的UPDATE问题,n个月都百思不得其解

用这个试试看
update A t1
   set t1.A3 = (select t2.A2 * t2.C2
                  from (select A1, A2, A3, C2
                          from A, B, C
                         where A1 = B1 and B2 = C1) t2
                 where t1.A1 = t2.A1)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP